1. .concat 合并数组 拼接数组 不影响原数组 返回新数组
let arr=[1,2,3,4,5]
let concatOne=arr.concat(1,2) //[1,2,3,4,5,1,2] 不会进行覆盖
let concatTwo=arr.concat([1,2]) // [1,2,3,4,5,1,2]
console.log("arr",arr) //[1,2,3,4,5]
let a=1,b=2,c=[]
let concatArr=c.concat(a,b) // [1,2] 这样的方式比较麻烦 因为要先定义c 然后又定义concatArr
let arr=[1,2,3,4,5]
let concatArr=[].concat(arr) // [1,2,3,4,5]
console.log("arr",arr) //[1,2,3,4,5]
2. .splice 删除数组中的元素并且可进行插入新元素(可不插入) 改变原数组 返回删除数组
splice(index,howmany,item1,.....itemx)
index:从什么地方进行删除(这里表示下标)
howmany:删除几个数
item1:插入的内容 可传可不传
不传元素:
let arr=[1,2,3,4,5,6,7,8]
let arrSplice=arr.splice(1,2) // 从索引1开始删除删除 删除两个元素 返回的为[2,3]
console.log("arr",arr) // [1,4,5,6,7,8]
传元素:
let arr=[1,2,3,4,5,6,7,8]
let arrSplice=arr.splice(1,2,7,8,9) // 从索引1开始删除 删除两个元素 插入元素7,8,9 返回的为删除的元素[2,3]
console.log("arr",arr) // [1,7,8,9,4,5,6,7,8] //不会覆盖重复的元素
3. 删除数组元素
3.1 .shift 前删 只会删除第一个元素 改变原数组 返回删除的元素( 不是数组)
let arr=[1,2,3,4,5]
let arrShift=arr.shift() // 返回删除数组中的第一个元素 1
console.log("arr",arr) // [2,3,4,5]
3.2 .pop 尾删 只会删除最后元素 改变原数组 返回删除的元素( 不是数组)
let arr=[1,2,3,4,5]
let arrPop=arr.pop() //返回删除数组中的最后一个元素 5
console.log("arr",arr) // [1,2,3,4]
4. 数组插入元素
4.1 .unshift 前插 改变原数组 返回原数组长度
let arr=[1,2,3,4,5,6,7,8]
let arrUnshift=arr.unshift(1,2,3,4) // 返回原数组长度 12
console.log("arr",arr) // [1,2,3,4,1,2,3,4,5,6,7,8] 重复不会覆盖
let arr=[1,2,3,4,5,6,7,8]
let arrUnshiftArr=arr.unshift([1,2]) // 返回原来数组长度 9
console.log("arr",arr) //[[1,2],1,2,3,4,5,6,7,8]
4.2 .push 后插 改变原数组 返回原来数组长度
let arr=[1,2,3,4,5,6,7,8]
let arrPush=arr.push(1,2) // 返回原数组长度 10
console.log("arr",arr) // [1,2,3,4,5,6,7,8,1,2] // 重复不会覆盖
let arr=[1,2,3,4,5,6,7,8]
let arrPushArr=arr.push([1,2]) // 返回原来数组的长度 9
console.log("arr",arr) // [1,2,3,4,5,6,7,8,[1,2]]
5 .join 用数组元素组成字符串 不改变原数组 返回新数组
let arr=[1,2,3,4,5,6,7,8]
let arrJoin=arr.join("") // 字符串 "12345678"
console.log("arr",arr) // [1,2,3,4,5,6,7,8]
let arr=[1,2,3,4,5,6,7,8]
let arrJoin=arr.join() // 什么都不传用"逗号"隔开 字符串"1,2,3,4,5,6,7,8"
console.log("arr",arr) // [1,2,3,4,5,6,7,8]
let arr=[1,2,3,4,5,6,7,8]
let arrJoin=arr.join("-") // 传"-" 结果为:字符串"1-2-3-4-5-6-7-8"
console.log("arr",arr) // [1,2,3,4,5,6,7,8]
. String 或者 toString 不改变原数组 返回字符串
let arr=[1,2,[3,4,[5,6],7],8]
let arrStr=String(arr) // 1,2,3,4,5,6,7,8
let arrString=arr.toString() // 1,2,3,4,5,6,7,8
but: let myArr=[{join:"44",split:[1,2]}] 这样的形式不可以
拓展:如何数组呢 .split 不改变原数组 返回新数组
let arr=[1,2,3,4,5]
let arrJoin=arr.join("-") // 字符串 "1-2-3-4-5"
let arrSplit=arrJoin.split("-") //["1","2","3","4","5"] 如何把数组元素从字符串转为数字
let arrSplitNum=arrSplit.map(item=>+item) // [1,2,3,4,5]
let arrSplitNum=arrSplit.map(item=>Number(item)) // [1,2,3,4,5]
从数组转为字符串再由字符串转为数组的步骤为:
let arr=[1,2,3,4,5]
let arrSplitNum=arrSplit.join("-").split("-").map(item=>+item) //[1,2,3,4,5]
let arrSplitNum=arrSplit.join("-").split("-").map(item=>Number(item)) // [1,2,3,4,5]
arrSplit.join("").split("").map(item=>+item) //[1,2,3,4,5]
arrSpli.join().split(",").map(item=>+item) //[1,2,3,4,5]
把嵌套多层数据变成一层
let arr=[1,2,[3,[4,5,[6,7]]],8]
let arrSring=String(arr) // 1,2,3,4,5,6,7,8 或者 let arrString=arr.toString()
let arrArr=arrString.split(",") // ["1","2","3","4","5"]
let arrA=arrArr.map(item=>+item) // [1,2,3,4,5]
let arrA=arrArr.map(item=>Number(item)) //[1,2,3,4,5]
最后步骤为:
let arr=[1,2,[3,[4,5,[6,7]]],8]
let arrA=String(arr).split(",").map(item=>+item)
let arrA=arr.toString().split(",").map(item=>Number(item))
but: let myArr=[{join:"44",split:[1,2]}] 这样的形式不可以