1. concat()
concat() 方法用于連接兩個或多個數組。該方法不會改變現有的數組
橱健,僅會返回被連接數組的一個副本而钞。
var arr1 = [1,2,3];
var arr2 = [4,5];
var arr3 = arr1.concat(arr2);
console.log(arr1); // [1, 2, 3]
console.log(arr3); // [1, 2, 3, 4, 5]
2. join()
join() 方法用于把數組中的所有元素放入一個字符串。元素是通過指定的分隔符進行分隔的拘荡,默認使用’,'號分割,不改變原數組
撬陵。
var arr = [2,3,4];
console.log(arr.join()); // 2,3,4
console.log(arr); // [2, 3, 4]
3. push()
push() 方法可向數組的末尾添加一個或多個元素珊皿,并返回新的長度网缝。末尾添加,返回的是長度蟋定,會改變原數組
粉臊。
var a = [2,3,4]
var b = a.push(5)
console.log(a) // [2, 3, 4, 5]
console.log(b) // 4
// push方法可以一次添加多個元素 push(data1, data2 ...)
4. pop()
pop() 方法用于刪除并返回數組的最后一個元素。返回最后一個元素驶兜,會改變原數組
扼仲。
var arr = [2,3,4];
console.log(arr.pop()); // 4
console.log(arr); // [2, 3]
5. shift()
shift() 方法用于把數組的第一個元素從其中刪除,并返回第一個元素的值抄淑。返回第一個元素屠凶,改變原數組
。
var arr = [2,3,4];
console.log(arr.shift()); // 2
console.log(arr); // [3, 4]
6. unshift()
unshift() 方法可向數組的開頭添加一個或更多元素肆资,并返回新的長度矗愧。返回新長度,改變原數組
郑原。
var arr = [2,3,4,5];
console.log(arr.unshift(3,6)); // 6
console.log(arr); // [3, 6, 2, 3, 4, 5]
7. slice()
返回一個新的數組唉韭,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。返回選定的元素犯犁,該方法不會修改原數組
属愤。
var arr = [2,3,4,5];
console.log(arr.slice(1,3)); // [3, 4]
console.log(arr); // [2, 3, 4, 5]
8. splice()
splice() 方法可刪除從 index 處開始的零個或多個元素,并且用參數列表中聲明的一個或多個值來替換那些被刪除的元素酸役。如果從 arrayObject 中刪除了元素春塌,則返回的是含有被刪除的元素的數組。splice() 方法會直接對數組進行修改
簇捍。
var a = [5,6,7,8];
console.log(a.splice(1,0,9)); // []
console.log(a); // [5, 9, 6, 7, 8]
var b = [5,6,7,8];
console.log(b.splice(1,2,3)); // [6, 7]
console.log(b); // [5, 3, 8]
9. substring() 和 substr()
相同點:如果只是寫一個參數只壳,兩者的作用都一樣:都是是截取字符串從當前下標以后直到字符串最后的字符串片段。
substr(startIndex);
substring(startIndex);
var str = '123456789';
console.log(str.substr(2)); // '3456789'
console.log(str.substring(2)); // '3456789'
不同點:第二個參數
substr(startIndex,lenth): 第二個參數是截取字符串的長度(從起始點截取某個長度的字符串)暑塑;
substring(startIndex, endIndex): 第二個參數是截取字符串最終的下標 (截取2個位置之間的字符串,‘含頭不含尾’)吼句。
console.log('123456789'.substr(2,5)); // '34567'
console.log('123456789'.substring(2,5)); // '345'
10. sort 排序
按照 Unicode code 位置排序,默認升序
var fruit = ['cherries','apples','bananas'];
fruit.sort(); // ["apples", "bananas", "cherries"]
var scores = [1,10,21,2];
scores.sort(); // [1, 10, 2, 21]
11. reverse()
reverse() 方法用于顛倒數組中元素的順序事格。返回的是顛倒后的數組惕艳,會改變原數組
。
var arr = [2,3,4];
console.log(arr.reverse()); // [4, 3, 2]
console.log(arr); // [4, 3, 2]
12. indexOf 和 lastIndexOf
都接受兩個參數:查找的值驹愚、查找起始位置远搪。
不存在,返回 -1 逢捺;存在谁鳍,返回位置。
indexOf 是從前往后查找, lastIndexOf 是從后往前查找倘潜。
indexOf
var a = [2,9,9];
a.indexOf(2); // 0
a.indexOf(7); // -1
lastIndexOf
var numbers = [2,5,9,2];
numbers.lastIndexOf(2); // 3
numbers.lastIndexOf(7); // -1
numbers.lastIndexOf(2,3); // 3
numbers.lastIndexOf(2,2); // 0
numbers.lastIndexOf(2,-2); // 0
numbers.lastIndexOf(2,-1); // 3
13. every
對數組的每一項都運行給定的函數绷柒,每一項都返回 ture,則返回 true
function isBigEnough(element, index, array) {
return element < 10;
}
[2,5,8,3,4].every(isBigEnough); // true
14. some
對數組的每一項都運行給定的函數,任意一項都返回 ture,則返回 true
function compare(element, index, array) {
return element > 10;
}
[2,5,8,1,4].some(compare); // false
[12,5,8,1,4].some(compare); // true
15. filter
對數組的每一項都運行給定的函數涮因,返回 結果為 ture 的項組成的數組
var num = [1,2,3,4,5,6,7,8,9];
var bigNum = num.filter(function(item){
return item > 6;
});
console.log(bigNum); // [7, 8, 9]
16. map
對數組的每一項都運行給定的函數废睦,返回每次函數調用的結果組成一個新數組
var numbers = [1,5,10,15];
var doubles = numbers.map(function(x){
return x*2;
});
console.log(numbers); // [1, 5, 10, 15]
console.log(doubles); // [2, 10, 20, 30]
17. forEach 數組遍歷
const arr = [1,2,3,4,5];
arr.forEach(function(i){
console.log(i)
})
// 1
// 2
// 3
// 4
// 5
ES6新增新操作數組的方法
1. find()
傳入一個回調函數,找到數組中符合當前搜索規(guī)則的第一個元素养泡,返回它嗜湃,并且終止搜索。
const arr = [1,2,3,4];
console.log(arr.find(i => i === 2)); // 2
2. findIndex()
傳入一個回調函數澜掩,找到數組中符合當前搜索規(guī)則的第一個元素购披,返回它的下標,終止搜索输硝。
const arr = [1,2,3,4];
console.log(arr.findIndex(i => i === 2)) // 1
3. fill()
用新元素替換掉數組內的元素今瀑,可以指定替換下標范圍。
arr.fill(value, start, end)
4. from
將類似數組的對象(array-like object)和可遍歷(iterable)的對象轉為真正的數組
const bar = ['a','b','c'];
Array.from(bar); // ["a", "b", "c"]
Array.from('foo'); // ["f", "o", "o"]
5. of
用于將一組值点把,轉換為數組橘荠。這個方法的主要目的,是彌補數組構造函數 Array() 的不足郎逃。因為參數個數的不同哥童,會導致 Array() 的行為有差異。
Array() // []
Array(7) // [,,,,,,]
Array(1,2,3) // [1, 2, 3]
Array.of(7) // [7]
Array.of(1,2,3) // [1, 2, 3]
6. includes
判斷數組中是否存在該元素褒翰,參數:查找的值贮懈、起始位置,可以替換 ES5 時代的 indexOf 判斷方式优训。
indexOf 判斷元素是否為 NaN朵你,會判斷錯誤。
const a = [1,2,3];
a.includes(2); // true
a.includes(4); // false
如果本文對你有所幫助揣非,感謝點一顆小心心抡医,您的支持是我繼續(xù)創(chuàng)作的動力!
最后:寫作不易早敬,如要轉裁忌傻,請標明轉載出處。