let arr = ["a","b","c","d","e"];
let arr1 = arr.join();
console.log(arr1); // a,b,c,d,e
console.log(arr); // ["a", "b", "c", "d", "e"] 不改變原來的數組
let arr2 = arr.join("-");
console.log(arr2); // a-b-c-d-e
複製代碼
let arr = ["a","b","c","d","e"];
let arr1 = arr.reverse();
console.log(arr1); // ["e", "d", "c", "b", "a"]
console.log(arr); // ["e", "d", "c", "b", "a"] 改變原來的數組
//怎麼顛倒字符串呢?
//先把字符串轉換數組再用數組的reverse轉換
let str = "abcde";
let str1 = str.split("").reverse().join("");
console.log(str1); // edcba
複製代碼
let arr = [5,4,6,1,8,2,9];
let arr1 = arr.sort();
console.log(arr1); // [1, 2, 4, 5, 6, 8, 9]
console.log(arr); // [1, 2, 4, 5, 6, 8, 9] 改變原來的數組
複製代碼
let arr1 = [5,4,6,1,8,2,9];
let arr2 = ["a","b","c","d"];
let arr3 = arr1.concat(arr2);
console.log(arr3); // [5, 4, 6, 1, 8, 2, 9, "a", "b", "c", "d"]
複製代碼
let arr = ["a","b","c","d"];
let arr1 = arr.slice(0,1);
let arr2 = arr.slice(1)
console.log(arr1); // ["a"]
console.log(arr2); // ["b", "c", "d"]
複製代碼
let list = [1,2,3,];
// 刪除
// list.splice(0,3); // 刪除 -> 從下標爲0開始,項數爲1
// console.log(list); // [2,3]
// list.splice(0,2); // 刪除 -> 從下標爲0開始,項數爲2
// console.log(list); // []
//替換
// list.splice(0,1,4); // 替換 -> 從下標爲0開始,項數爲1的數組元素替換成4
// console.log(list); // [4,2,3]
// list.splice(0,2,4); // 替換 -> 從下標爲0開始,項數爲2的數組元素替換成4(即4,2總體替換成4)
// console.log(list); // [4,3]
//添加
list.splice(1,0,5); // 表示在下標爲1處添加一項5
console.log(list); // [1,5,2,3]
複製代碼
let list = [1,2,3];
let list1 = list.push(5);
console.log(list1); // 4 數組長度
console.log(list); // [1, 2, 3, 5]
let list2 = list.pop();
console.log(list2); // 後面最後一個值5 數組值
console.log(list); // [1,2,3]
複製代碼
let list = [1,2,3,];
let list1 = list.unshift(5);
console.log(list1); // 4 數組長度
console.log(list); // [5,1, 2, 3]
let list2 = list.shift();
console.log(list2); // 5 第一個數組值
console.log(list); // [1,2,3]
複製代碼
let list = [1,2,3,];
let list1 = list.toString();
console.log(list1); // 1,2,3
let list2 = list.toLocaleString();
console.log(list2); // 1,2,3
複製代碼
*目的: 建立一個新數組,其結果是該數組中的每一個元素都調用一個提供的函數後返回的結果api
let list = [1,2,3,];
const data = list.map(item=>(item * 2));
console.log(data); // [2, 4, 6]
console.log(list); // 原來數組不變
複製代碼
let arr = [1,2,3,4,5,8,9,10];
let list = arr.filter((x) => {
return x>2;
})
console.log(list); // [3, 4, 5, 8, 9, 10]
複製代碼
let arr = [1,2,3,4,5,8,9,10];
let list = arr.every((x) => {
return x>2;
})
console.log(list); // false
let arr = [1,2,3,4,5,8,9,10];
let list = arr.some((x) => {
return x>2;
})
console.log(list); // true
複製代碼
let data = [1,2,3,4,5,6,7,8,9,10]
let str = data.reduce((prev,cur,index,arr) => {
return prev + cur ;
});
console.log(str); // 55
reduceRight()從數組的末尾向前將數組中的數組項作累加
let data = [1,2,3,4,5,6,7,8,9,10]
let str = data.reduceRight((prev,cur,index,arr) => {
return prev + cur ;
});
console.log(str);
複製代碼
let arr = [2, 4, 6, 8, 8, 6, 4, 2];
console.log(arr.indexOf(4, 2)); //從索引爲2的位置開始查找 6
console.log(arr.indexOf(4)); //從頭開始找,找到第一個即中止 1
let arr = [2, 4, 6, 8, 8, 6, 4, 2];
console.log(arr.lastIndexOf(4)); //從後往前走,但返回的是從前日後的索引 6
console.log(arr.indexOf("2")); //找不到返回-1 -1
複製代碼
let obj = "ffkfkfk";
let list = Array.from(obj);
console.log(list); // ["f", "f", "k", "f", "k", "f", "k"]
複製代碼
let arr = [1,2,3,4];
let list = Array.of(arr);
console.log(list); // [Array(4)]
複製代碼
let fruits = ["Banana", "Orange", "Apple", "Mango"];
let list = fruits.copyWithin(2, 0);
console.log(list) // ["Banana", "Orange", "Banana", "Orange"]
複製代碼
查找元素,返回找到的值,找不到返回undefined。
const arr1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
const ret1 = arr1.find((value, index, arr) => {
return value > 4
})
const ret2 = arr1.find((value, index, arr) => {
return value > 14
})
console.log('%s', ret1) // 5
console.log('%s', ret2) // undefined
複製代碼
const fruits = ["Banana", "Orange", "Apple", "Mango"];
const list = fruits.fill("Runoob");
console.log(list); // ["Runoob", "Runoob", "Runoob", "Runoob"]
複製代碼
Array.prototype.includes方法返回一個布爾值,表示某個數組是否包含給定的值,與字符串的includes方法相似。該方法屬於 ES7 ,但 Babel 轉碼器已經支持。
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, NaN].includes(NaN); // true
該方法的第二個參數表示搜索的起始位置,默認爲 0 。若是第二個參數爲負數,則表示倒數的位置,若是這時它大於數組長度(好比第二個參數爲 -4 ,但數組長度爲 3 ),則會重置爲從 0 開始。
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
複製代碼
總結不對的地方請大神們指點一下數組