let arr = ["a", "b", 1, 3, 6]
console.log(arr.toString()) // a,b,1,3,6
console.log(arr.valueOf()) // ["a", "b", 1, 3, 6]
console.log(arr.join(",")) // a,b,1,3,6
console.log(arr.join("/")) // a/b/1/3/6
複製代碼
let colors = ["red", "green", "blue"]
let count = colors.push("black")
console.log(count) // 4
let item = colors.pop()
console.log(item) // black
複製代碼
let colors = ["red", "green", "blue"]
let count = colors.push("black")
console.log(count); // 4
let item = colors.shift()
console.log(item) // red
console.log(colors) //["green", "blue", "black"]
let count1 = colors.unshift("yellow");
console.log(count1) // 4
console.log(colors) // ["yellow", "green", "blue", "black"]
複製代碼
// 反轉
let values = [0, 1, 5, 10, 15]
values.reverse()
console.log(values) /// [15, 10, 5, 1, 0]
let values = [0, 1, 5, 10, 15]
values.sort()
console.log(values) // [0, 1, 10, 15, 5]
//升序
values.sort((a, b) => a - b)
console.log(values) // [0, 1, 5, 10, 15]
//降序
values.sort((a, b) => b - a)
console.log(values) // [15, 10, 5, 1, 0]
複製代碼
// concat()
let colors = ["red", "green", "blue"]
let colors2 = colors.concat(["black", "brown"])
console.log(colors) // 原數組不變 ["red", "green", "blue"]
console.log(colors2) // ["red", "green", "blue", "black", "brown"]
//slice()
let colors = ["red", "green", "blue", "yellow", "purple"];
let colors3 = colors.slice(1)
let colors4 = colors.slice(1, 4)
console.log(colors3) //["green", "blue", "yellow", "purple"]
console.log(colors4) //["green", "blue", "yellow"]
// 注意:若是 slice()方法的參數中有一個負數,則用數組長度加上該數來肯定相應的位
// 置。例如,在一個包含 5 項的數組上調用 slice(-2,-1)與調用 slice(3,4)獲得的
// 結果相同。若是結束位置小於起始位置,則返回空數組
複製代碼
splice() 方法始終都會返回一個數組,該數組中包含從原始數組中刪除的項(若是沒有刪除任何項,則返回一個空數組)前端
let colors = ["red", "green", "blue"]
let removed = colors.splice(0, 1) // 刪除第一項
console.log(colors) //["green", "blue"]
console.log(removed) //["red"] 返回刪除的項
let remo = colors.splice(1, 0, "yellow", "orange") // 從位置 1 開始插入兩項
console.log(colors) // ["green", "yellow", "orange", "blue"]
console.log(remo) // [] 返回刪除的項沒刪除因此爲空
複製代碼
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]
console.log(numbers.indexOf(4)) //3
console.log(numbers.lastIndexOf(4)) //5
複製代碼
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]
let everyNum = numbers.every(function(item, index) {
return item > 0
})
console.log(everyNum) //true
let someNum = numbers.some(function(item, index) {
return item > 3
})
console.log(someNum) //true
let filterNum = numbers.filter(function(item, index) {
return item > 1
})
console.log(filterNum) // [2, 3, 4, 5, 4, 3, 2]
let mapNum = numbers.map(function(item, index) {
return item * 2
});
console.log(mapNum) // [2, 4, 6, 8, 10, 8, 6, 4, 2]
//forEach和for同樣就是單純的循環數組
numbers.forEach(function(item, index, array) {
//執行某些操做
})
複製代碼
let values = [1, 2, 3, 4, 5]
let sum = values.reduce(function(prev, cur, index, array) {
return prev + cur
})
let sum1 = values.reduce(function(prev, cur, index, array) {
return prev * cur
})
let sum2 = values.reduceRight(function(prev, cur, index, array) {
return prev + cur
})
let sum3 = values.reduceRight(function(prev, cur, index, array) {
return prev * cur
})
console.log(sum) // 15 1+2+3+4+5 = 15
console.log(sum1) // 120 1*2*3*4*5 = 120
console.log(sum2) // 15 5+4+3+2+1 = 15
console.log(sum3) // 120 5*4*3*2*1 = 120
複製代碼
參考:高級程序設計三
數組