這是學習過程中記錄的一些關(guān)于數(shù)組操作的常用屬性或方法聂宾,記錄一下方便以后使用己莺。
// 數(shù)組去重
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]
// 數(shù)組拼接 concat() 此方法不會更改現(xiàn)有數(shù)組帅霜,而是返回一個新數(shù)組。可拼接多個數(shù)組
// 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
// 修改替換數(shù)組中的指定索引的值(會改變原數(shù)組) 返回修改后的新數(shù)組
// arr .fill(value [,start [ 冰肴,end]])
// value 填充數(shù)組的值屈藐。 start 開始的索引(可選)。end 結(jié)束索引(可選)熙尉,默認為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()遞歸到指定深度的數(shù)組。該flat()方法創(chuàng)建一個新數(shù)組检痰,所有子數(shù)組元素以遞歸方式連接到指定的深度包归。
// 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()方法檢索數(shù)組是否存在其條目中包括的特定值,返回true或false铅歼。
// arr .includes(valueToFind [,fromIndex]) // valueToFind 要搜索的值公壤。fromIndex (可選)從第幾位開始搜索默認 0
[1, 2, 3].includes(2);? ? // true
[1, 2, 3].includes(4);? ? // false
// 數(shù)組求和 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()方法測試數(shù)組中是否至少有一個元素通過了檢測
// 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() 把數(shù)組變成字符串
var array1 = [1, 2, 'a', '1a'];
console.log(array1.toString()); // "1,2,a,1a"