添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

findIndex()和 indexOf()方法

findIndex()顾名思义,查找符合条件的值并返回其索引(返回值为-1表示不存在满足条件的值),通过判断返回值对其进行下一步操作

indexOf()从头开始寻找是否存在符合条件的字符串,返回值为-1表示不存在

//方法一:通用
xx(Arr,date){ 
	// 返回值等于-1 说明数组Arr中不存在id为date的对象
	if( Arr.findIndex(item => item.id=== date )!==-1){
	...
//方法二:当数组里的对象为字符串时用这个方法更简单
xx(Arr,date){
	// 返回值等于-1 说明数组Arr中不存在id为date的对象
	if( Arr.indexOf(date)!==-1 ){
	...
xxx(){
      const that=this;
      that.$axios.get('/get_collection_user') //axios请求
        .then((res)=>{
          that.cards = res.data  //获取cards数组
          //判断数组内是否存在数据that.storeId,如果不存在返回值为-1
          if(that.cards.findIndex(item => item.mindId=== that.storeId)!==-1){  
            that.isActive = true
                    两种方法://方法一:通用xx(Arr,date){ 	// 返回值等于-1 说明数组Arr中不存在id为date的对象	if( Arr.findIndex(item => item.id=== date )!==-1){	...	}	}//方法二:当数组里的对象为字符串时用这个方法更简单xx(Arr,date){	// 返回值等于-1 说明数组Arr中不存在id为date的对象	if( Arr.indexOf(date)!==-1 ){	...	}	}    实例
concat()---连接两个或更多的数组,并返回结果。
every()---检测数组元素的每个元素是否都符合条件。
filter()---检测数组元素,并返回符合条件所有元素的数组。
indexOf()---搜索数组中的元素,并返回它所在的位置。
join()---把数组的所有元素放入一个字符串。
lastIndexOf()---返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索。
map()---通过指定函数处理数组的每个元素,并返回处理后的数组。
slice()--
  var index = array.findIndex(item => item.id=== str)
  // var index = array.indexOf(str) // 当数组里的对象为字符串时用这个方法更简单
  return index // -1 说明array中不存在id为str的对象
				
Vue中,如果要给变量赋值数组中的某一项,我们可以使用Vue提供的计算属性来实现。 首先,先在data中定义一个数组arr以及一个变量index,表示要修改的数组项的下标。然后在模板中使用输入框绑定arr[index],可以实现对数组中一项的修改。但是,如果想直接在Vue实例中通过代码来修改数组中一项,我们可以使用计算属性来实现。 比如,我们定义一个名为selectedItem的计算属性,用来获取数组中指定下标的元素,代码如下: computed: { selectedItem() { return this.arr[this.index] 然后,我们在模板中可以直接使用selectedItem来获取数组中指定下标的元素,而且如果在代码中修改了index的值,selectedItem会自动更新相应的元素。例如,可以在Vue实例中这样修改数组中第二个元素的值: this.index = 1 this.selectedItem = 'new value' 这样就可以快捷地实现对数组中一项的修改。同时,计算属性还具有缓存的功能,可以避免频繁地重复计算,提高程序性能。
The data property “xxx“ is already declared as a prop. Use prop default value instead.【已解决】