js六种给数组追加元素的方法,你想得到几种? | 您所在的位置:网站首页 › 数组添加方法 › js六种给数组追加元素的方法,你想得到几种? |
现在有一个数组arr=[1,2,3,4] 要追加了! 1.push方法 let arr=[1,2,3,4]; arr.push(5); console.log(arr); //得到[1,2,3,4,5]push方法会修改原数组,可以带多个参数,都会一起加到数组末尾 2.unshift方法 let arr=[1,2,3,4]; arr.unshift(5); console.log(arr); //得到[5,1,2,3,4]类似push,不过会加到开头 3.length属性可以直接给length位置赋值 let arr=[1,2,3,4]; arr[arr.length]=5; console.log(arr); //得到[1,2,3,4,5]数组长度会自动+1 4.splice方法splice既可以删除数组元素,也可以追加数组元组 arrayObject.splice(index,howmany,item1,…,itemX) 其中,index和howmany是必须,后面的item不是必须的 howmany指的是删除元素的个数,是0则为不删除 index是开始修改的索引位置 item是在index处增加元素的列表 //删除 let arr=[1,2,3,4]; arr.splice(1,1); console.log(arr); //得到[1,3,4] //增加 let arr=[1,2,3,4]; arr.splice(1,0,1.5); console.log(arr); //得到[1,1.5,2,3,4]另外,如果howmany非0的情况下,item不为空,那么会先删掉howmany对应的数组元素,再在index位置追加item let arr=[1,2,3,4]; arr.splice(1,1,9,9,9); console.log(arr); //得到[1,9,9,9,3,4] 5.concat方法concat方法和push类似,不过会生成新数组,不会修改原数组 let arr = [1,2,3]; console.log(arr.concat(4,5)); //得到[1,2,3,4,5]也用于数组连接 let arr1 = [1,2,3]; let arr2 = [4,5,6]; console.log(arr1.concat(arr2)); //得到[1,2,3,4,5,6] 6. ……也就是拓展运算符 let arr1=[1,2,3]; let arr2=[...arr1,4,5]; console.log(arr2); //得到[1,2,3,4,5]…不只是用于复制数组,它可以复制一个对象中所有可遍历的属性到一个新对象 比如 let obj1={a:1 , b:2 , d:9}; let obj2={c:2 , d:5 , ...obj1}; console.log(obj2); //得到{c:2,a:1,b:2,d:9} //如果有重复的,会被覆盖掉,比如这里的d这个复制是一种浅拷贝,所以只复制了对象的地址 比如,Symbol也会原封不动的复制过来 const obj1 = {"key":Symbol()}; const obj2 = { ...obj1 }; console.log(obj1==obj2);//false console.log(obj1["key"]==obj2["key"]);//true同理: let obj1={a:{b:"c"}} let obj2={...obj1}; obj2.a.b="d"; console.log(obj1); console.log(obj2); //得到的都是{a:{b:"d"}} //也就证明了复制的是地址除此之外,还可以把他和解构赋值结合,比如 let [first,...rest]=[1,2,3,4,5]; console.log(first);//1 console.log(rest);//[2,3,4,5]这种方法下,…必须在最后,在开头[…rest,first]和在中间[first,…rest,last]都会报错 也可以用这个来拆分字符串 let hello=[..."helloword"]; console.log(hello); //['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'd'] |
CopyRight 2018-2019 实验室设备网 版权所有 |