var arr = [1,2,3,2,'apple']
1.新增元素
arr.push(val); //在数组结尾添加,返回数组长度;改变原数组
arr.unshift(val); //在数组头部添加,返回数组长度;改变原数组
arr.concat(val); //返回新数组;不会改变原数组
2.修改数组中的元素
arr[index] = val; //index为索引
3.查找某个元素,获取索引
arr.indexOf('apple'); //返回查找元素的索引,否则返回-1;不会改变原数组
es6的新方法:find(),findIndex(),includes() //indexOf对NaN判断有误
4.删除数组中的某个元素
arr.pop(); //删除数组最后一个值,返回删除的元素,数组为空返回undefined;改变原数组
arr.shift(); //删除数组第一个值,返回删除的元素,数组为空返回undefined;改变原数组
arr.splice(index, 1); //删除指定元素(一般与indexOf一起用),index为索引,1----删除一个
/*删除某几个元素*/ //filter方法是不会改变原数组,返回新数组
var arr = [{select:true, produt: 'fruit'},{select:false, product:'meat'}]
let newArr= arr.filter(val => {
return !val.select;
});
总结:(1)会改变数组自身的方法:push(), pop(), unshift(), shift(), splice(), copyWithin(), slice()
(2)不会改变数组自身的方法:concat(), filter(), indexOf(), find(), findIndex(), includes(), join(), toString()
原文:https://blog.csdn.net/weixin_41780596/article/details/81236592