findIndex()和 indexOf()方法
findIndex()顾名思义,查找符合条件的值并返回其索引(返回值为-1表示不存在满足条件的值),通过判断返回值对其进行下一步操作
indexOf()从头开始寻找是否存在符合条件的字符串,返回值为-1表示不存在
xx(Arr,date){
if( Arr.findIndex(item => item.id=== date )!==-1){
...
xx(Arr,date){
if( Arr.indexOf(date)!==-1 ){
...
xxx(){
const that=this;
that.$axios.get('/get_collection_user')
.then((res)=>{
that.cards = res.data
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.【已解决】