JS-数组添加元素、查找元素索引、删除指定元素

经常用到,做一下记录。

1.新增元素

var arr = ['a','b','c',2,'apples']
var arr2 = ['d','e']

arr.push('new1')//6     在数组结尾添加,返回数组长度;改变原数组
console.log(arr)// ["a", "b", "c", 2, "apple", "new1"]

arr.unshift('new2'); //7   在数组头部添加,返回数组长度;改变原数组
console.log(arr)// ["new2", "a", "b", "c", 2, "apple", "new"]

let list1 = arr.concat('new3');//    返回新数组;不会改变原数组
console.log(list1)//["new2", "a", "b", "c", 2, "apple", "new", "new3"]

let list2 = arr.concat(arr2);//     返回新数组;不会改变原数组
console.log(list2)//["new2", "a", "b", "c", 2, "apple", "new", "d", "e"]

2.修改元素的值

var arr = ['a','b','c',2,'apples']
arr[0] = 'a2';    //0为索引
console.log(arr)// ["a2", "b", "c", 2, "apples"]

3.查找某个元素,获取索引

var arr = ['a','b','c',2,'apples']
arr.indexOf('apples'); //4   返回查找元素的索引,否则返回-1;不会改变原数组
arr.indexOf('e');//-1

arr.findIndex(function(item){
    return item == 'a'
})//0   当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。
arr.findIndex(function(item){
    return item == 'e'
})//-1  如果没有符合条件的元素返回 -1

arr.includes(val, index)
//val必须,需要查找的元素值。
//index可选。从该索引处开始查找 val。如果为负值,则按升序从 arr.length + index的索引开始搜索。默认为 0。
arr.includes('a')//true     如果找到指定值返回 true,否则返回 false。
arr.includes('e')//false

arr.indexOf(val,index)
//val 必需,规定需检索的字符串值。
//index	可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 arr.length - 1。如省略该参数,则将从字符串的首字符开始检索。
arr.indexOf('a')//0   返回数组中某个指定的元素首次出现的位置。
arr.indexOf('e')//-1   没找到指定元素则返回 -1。

4.删除数组中的某个元素

var arr = ['a','b','c',2,'apples']
arr.pop(); //apples  删除数组最后一个值,返回删除的元素,数组为空返回undefined;改变原数组
console.log(arr)// ["a", "b", "c", 2]

arr.shift(); //a    删除数组第一个值,返回删除的元素,数组为空返回undefined;改变原数组
console.log(arr)// ["b", "c", 2]

arr.splice(1, 1); //["c"]  常用  删除指定元素(一般与indexOf一起用),前面1为索引,后面1删除一个
console.log(arr)// ["b", 2]

//filter方法是不会改变原数组,返回新数组。把传入的函数依次作用于每个元素,然后根据返回值是 true 还是false决定保留还是丢弃该元素。
var arr = [{select:true, produt: 'fruit'},{select:false, product:'meat'},{select:false, product:'meat'}]
let newArr= arr.filter(val => {//箭头函数
   return !val.select;
}); //返回条件为true的所有元素
console.log(newArr)// [{select:false, product:'meat'}]
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 你可以使用 JavaScript 中的 `splice()` 方法来删除 Vue 数组中的特定元素。`splice()` 方法会修改原始数组。 假设你有一个名为 `myArray` 的 Vue 数组,它包含以下元素: ``` myArray: [ "apple", "banana", "orange", "grape" ] ``` 如果你想要删除 "orange" 这个元素,可以使用 `splice()` 方法来删除。代码如下: ``` myArray.splice(myArray.indexOf("orange"), 1); ``` `indexOf()` 方法用于查找 "orange" 在数组中的位置,然后 `splice()` 方法用于删除元素。第一个参数是要删除元素索引位置,第二个参数是要删除元素个数。 现在,`myArray` 数组将只包含以下元素: ``` myArray: [ "apple", "banana", "grape" ] ``` 注意,`splice()` 方法会修改原始数组,所以你不需要对 Vue 数组进行重新赋值。 ### 回答2: 在Vue中,要删除数组中的指定元素,可以使用splice方法。splice方法用于向数组添加删除元素,并返回被删除元素。 首先,我们需要获取要删除元素数组中的索引位置。可以使用indexOf方法来获取指定元素数组中的索引位置。例如,如果要删除数组arr中的元素value,可以使用以下代码来获取索引位置: ```javascript let index = arr.indexOf(value); ``` 接下来,我们可以使用splice方法来删除指定索引位置的元素。splice方法接受两个参数,第一个参数是要删除元素索引位置,第二个参数是要删除元素的个数。例如,如果要删除arr数组索引为index的元素,可以使用以下代码: ```javascript arr.splice(index, 1); ``` 最后,我们需要更新Vue实例中的数组。如果arr是Vue实例中的数据属性,Vue会在数据发生变化时自动更新视图。如果arr不是Vue实例中的数据属性,我们需要手动调用$forceUpdate方法来触发视图更新。 综上所述,要删除Vue数组中的指定元素,可以按照以下步骤操作: 1. 使用indexOf方法获取要删除元素数组中的索引位置。 2. 使用splice方法删除指定索引位置的元素。 3. 如果需要,手动调用$forceUpdate方法触发视图更新。 希望以上回答对您有帮助! ### 回答3: 在Vue中,如果要删除数组中的指定元素,可以通过以下几种方式实现: 1. 使用splice方法: 可以利用数组的splice方法来删除指定元素。splice方法接受两个参数,第一个参数是要删除元素索引,第二个参数是要删除元素个数。例如,要删除数组arr中的第一个元素,可以使用arr.splice(0, 1)。这样就会从数组删除元素。 2. 使用filter方法: 可以使用数组的filter方法来创建一个新数组,其中不包含要删除指定元素。filter方法接受一个回调函数作为参数,该回调函数会对数组中的每个元素进行判断,返回true的元素会被保留在新数组中,返回false的元素会被过滤掉。例如,要删除数组arr中的所有值为value的元素,可以使用arr.filter(item => item !== value)。 3. 使用Vue的$delete方法: 如果要在Vue实例的data中删除指定元素,可以使用Vue的$delete方法。$delete方法接受两个参数,第一个参数是要删除的对象,第二个参数是要删除的属性名或数组索引。例如,要删除Vue实例中的data数组中的第一个元素,可以使用this.$delete(this.data, 0)。 以上是几种常见的方法,根据具体情况选择合适的方法来删除Vue中数组中的指定元素

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值