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
复制代码
总结不对的地方请大神们指点一下数组