这是学习过程中记录的一些关于数组操作的常用属性或方法,记录一下方便以后使用。
// 数组去重 var arr1 = [1,1,2,3,4,5,6,3,2,4,5,'a','b','c','a',6,7,8,3,5,7,8,34] // console.log(Array.from(new Set(arr1))) // [1, 2, 3, 4, 5, 6, "a", "b", "c", 7, 8, 34] // 数组拼接 concat() 此方法不会更改现有数组,而是返回一个新数组。可拼接多个数组 // var new_array = old_array.concat([ value1 [,value2 [,... [,valueN ]]]]) var arr2 = [1,2,3,4,5] var arr3 = [6,7,8,9,0] // console.log(arr2.concat(arr3)) // [1,2,3,4,5,6,7,8,9,0] // 该Array.isArray() 方法确定传递的值是否为Array。 Array.isArray([1, 2, 3]); // true Array.isArray({foo: 123}); // false Array.isArray('foobar'); // false Array.isArray(undefined); // false // 修改替换数组中的指定索引的值(会改变原数组) 返回修改后的新数组 // arr .fill(value [,start [ ,end]]) // value 填充数组的值。 start 开始的索引(可选)。end 结束索引(可选),默认为this.length。 [1, 2, 3].fill(4); // [4, 4, 4] [1, 2, 3].fill(4, 1); // [1, 4, 4] [1, 2, 3].fill(4, 1, 2); // [1, 4, 3] // flat()递归到指定深度的数组。该flat()方法创建一个新数组,所有子数组元素以递归方式连接到指定的深度。 // var newArray = arr .flat([depth]); // depth (可选)要递归到的深度默认1 var arr4 = [1,2,[3,4]]; console.log(arr4.flat()) // [1,2,3,4] var arr5 = [1,2,[3,4,[5,6]]]; console.log(arr5.flat(2)) // [1,2,3,4,5,6] // 该includes()方法检索数组是否存在其条目中包括的特定值,返回true或false。 // arr .includes(valueToFind [,fromIndex]) // valueToFind 要搜索的值。fromIndex (可选)从第几位开始搜索默认 0 [1, 2, 3].includes(2); // true [1, 2, 3].includes(4); // false // 数组求和 reduce() accumulator 累加后的值 currentValue 当前值 const arr6 = [1, 2, 3, 4]; const reducer = (accumulator, currentValue) => accumulator + currentValue; // 1 + 2 + 3 + 4 console.log(arr6.reduce(reducer)); // 10 // 该some()方法测试数组中是否至少有一个元素通过了检测 // arr.some(callback(element [,index [,array]]) [,thisArg ]) var arr7 = [1, 2, 3, 4, 5]; var even = function(element) { return element === 2; }; console.log(arr7.some(even)); // toString() 把数组变成字符串 var array1 = [1, 2, 'a', '1a']; console.log(array1.toString()); // "1,2,a,1a"