一、數組合並
方法一、for循環實現數組合並
代碼如下:
let arr1 = ['a','b','c'] let arr2 = [1,2,3] for (let i in arr2) { arr1.push(arr2[i]) } console.log("arr1:",arr1) console.log("arr2:",arr2)
結果如下:
方法二、arr1.push.apply(arr1,arr2)實現數組合並(比方法一好)
代碼如下:
let arr1 = ['a','b','c'] let arr2 = [1,2,3] arr1.push.apply(arr1,arr2) console.log("arr1:",arr1) console.log("arr2:",arr2)
結果如下:
方法三、concat方法合並倆數組生成新的數組
代碼如下:
let arr1 = ['a','b','c'] let arr2 = [1,2,3] arr1 = arr1.concat(arr2) console.log("concat方法") console.log("arr1:",arr1) console.log("arr2:",arr2)
結果如下:
方法四、ES6語法
代碼如下:
let arr1 = ['a','b','c'] let arr2 = [1,2,3] arr1 = [...arr1, ...arr2] console.log("ES6語法") console.log("arr1:",arr1) console.log("arr2:",arr2)
結果如下:
方法5、ES6語法+push方法
代碼如下:
let arr1 = ['a','b','c'] let arr2 = [1,2,3] arr1.push(...arr2) console.log("ES6語法+push方法") console.log("arr1:",arr1) console.log("arr2:",arr2)
結果如下:
二、數組去重
set方法去重
代碼如下:
var arr = [1, 1, 2, 2, 2, 3, 3, 3] let res = Array.from(new Set(arr)) console.log(res)
結果如下:
參考文章:https://www.cnblogs.com/gaosirs/p/10677221.html
數組中是對象的去重方法:https://www.cnblogs.com/le220/p/9130656.html
代碼記錄:數組中存放為對象,根據對象中"dz"與“mzydmc”屬性進行去重
let res = []; let obj = {}; for (let i = 0; i < arr.length; i++) { let dz = arr[i].dz let mzydmc = arr[i].mzydmc if (!obj[mzydmc]) { if (!obj[dz]){ res.push(arr[i]); obj[dz] = true } obj[mzydmc] = true }else { console.log(arr[i]) } }