concat() 方法是用于连接两个或者多个数组,该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本
语法:
arrayObject.concat(arrayX,arrayX,.........arrayX)
arrayX: 必需,该参数可以是具体的值,一可以是数组对象,可以是多个
返回值: 返回一个新数组, 该数组时通过把所有arrayxX 参数添加到 arrayObject中生成的, 如果要进行 concat()操作的参数是数组, 那么添加的是数组的元素,而不是数组
var a = [1, 2, 3, 4, 5]
var b = ['a', 'b', 'c', 'd', 'e']
var c = a.concat(b)
结果: (10) [1, 2, 3, 4, 5, "a", "b", "c", "d", "e"]
合并俩个数组并去重
let arr1 = [1, 1, 2, 3, 6, 9, 5, 5, 4]
let arr2 = [1, 2, 5, 4, 9, 7, 7, 8, 8]
function uniqueArr(arr1,arr2) {
//合并两个数组
arr1.push(...arr2)//或者arr1 = [...arr1,...arr2]
//去重
let arr3 = Array.from(new Set(arr1))//let arr3 = [...new Set(arr1)]
console.log(arr3)
}
uniqueArr(arr1,arr2)
ES5实现
var arr1 = [1, 1, 2, 3, 6, 9, 5, 5, 4] var arr2 = [1, 2, 5, 4, 9, 7, 7, 8, 8] function uniqueArr(arr1, arr2){ var arr3 = arr1.concat(arr2) var arr4 = [] for(var i=0,len=arr3.length; i<len; i++) { if(arr4.indexOf(arr3[i]) === -1) { arr4.push(arr3[i]) } } console.log(arr4) } uniqueArr(arr1, arr2)
new Set()接收一个数组, 并且数组中的元素是唯一的, Array.from()能把伪数组转化为真数组
8