js对数组的操作

一、新增

1影响原数组

arr.push()//返回新增之后的新数组,原数组arr被改变

arr.ushift()//返回新增之后的新数组,原数组arr被改变

2不影响原数组

arr.concat("f")<---->arr.concat(['a','b','c'])//返回新数组,原数组arr不被改变

[...arr,'f']//(展开操作符)返回新数组,原数组arr不被改变

二、移除

1影响原数组

arr.pop()//返回被删除的元素,原数组arr被改变

arr.shift()//返回被删除的元素,原数组arr被改变

arr.splice(startIndex,sum)//返回被删除的元素,原数组arr被改变

2不影响原数组

//当函数体只有一行的时候,‘return’关键字是默认自带的,不需要手动输入

//当函数体为多行时,需要手动输入手动输入

//arr.filter()    ES6语法,筛选

arr.filter(a=>a!=='e')<----->arr.filter(a=>{return a!=='e'})//不影响原数组arr

arr.slice(startIndex,endIndex)//不影响原数组arr

三、替换

1影响原数组

arr.splice(替换开始标,被替换个数,替换的值可多个);

arr.splice(2,1,'a','v')//原数组arr被改变

2不影响原数组

arr.map(n=>n+'h');//原数组arr不被影响

例:

const origArr = ['a', 'b', 'c', 'd', 'e'];  

const transformedArr = origArr.map(n => n + 'Hi!'); // ['aHi!', 'bHi!', 'cHi!', 'dHi!', 'eHi!']  

console.log(origArr); // ['a', 'b', 'c', 'd', 'e']; // 原数组毫发无损

阅读原文

猜你喜欢

转载自blog.csdn.net/mumu42/article/details/80062655