javascript的数组操作方法
isArray 用来判断一个参数是不是数组
valueOf() 返回数组本身
toString()返回字符串形式的数组
arr.push() 向该数组的最后一位添加一个或多个元素 该方法会改变原数组
arr.pop()删除该数组的最后一个元素 并返回改元素 该方法会改变原数组
arr.unshift() 向数组的第一位添加一个元素 并返回添加后数组长度 该方法会改变原数组
arr.shift()删除该数组的最第一个元素 该方法会改变原数组
arr.join(“x”) 向该数组每个元素之间添加"X"并作为字符串返回 如果X为空 则自动添加为’,'也可以用作字符串 Array.propotype.join.call(‘字符串’);
arr.concat(somesting) 合并数组或者想数组里添加元素 返回一个新数组,原数组不变。 如果数组成员包括对象 此数组是原来的数组的引用 只是浅拷贝
arr.revese() 颠倒arr的元素顺序 会改变原数组
arr.slice(start, end); start 代表起始位置 end代表结束位置(不包含结束时本身元素)返回该段数组 如果END不存在 将会返回到数组的最后一位
arr.splice(x,y,z,q) X代表下标+1的起点 Y代表删除的个数 z,q 代表新加入的数组 如果X为负值 就反向数 Y还是正向 该方法返回被删除的元素 会改变原数组
arr.sort(func) 会将数组进行排序会先把数组元素转化为字符串 在进行字典排序 里面可以加入函数 返回值为 a-b 若大于零 a在前 反之 B在前 会改变原数组
foreach() 和 arr.map()
arr.foreach(func,arr2) 会进行遍历 并没有返回值 func里面会加入三个参数 (element,index,array) 分辨代表 本次遍历的元素 数组下标 整个数组 func里面的this会指向参数arr2 所以进行数组复制 或则添加对象很适用 例子
const arr = [
{
name:"张三",
score:"50",
},
{
name:"李四",
score:"65",
},
{
name:"王五",
score:"80",
},
{
name:"赵六",
score:"90",
}
]
const arrRulst = [];
arr.forEach(Func,arrRulst);
function Func (element,){
if( element.score>=90){
this.push({...element, Grade: '优秀'});
}
}
console.log(arrRulst)
filter: 上面筛选成绩的函数用filter更为方便 因为filter本身就是用了筛选的 用法
arr.filter((element)=>{return elementXXX}) 函数中代表条件 为turn被返回 为false 舍弃
同forEach 一样 第二个参数也可以使用一个数组 被函数中的this指向 该方法不会改变原来的数组
const arrResult =(arr.filter((element)=>{return element.score>=60}));
//这样就可筛选出及格线
reduce 和 reduceRight 是求数组元素的计算属性 最终累计出来一个结果 两者效果一样
一般用于总成绩计算
arr.indexOf() 和arr.lastIndexOf() 检查()中元素在数组中第一次 /最后一次出现的位置 如果不存在则返回-1;