Powered by md-Blog  文 - 篇  访客 -

JS、ES6常用数组方法


  分类:JS+ES6  / 
更新:2020-04-08 11:42:49  /  创建:2020-04-08 11:42:49
不要删除

创建

var arr = [];
var arr = [1, 2 ,'good'];
var arr = new Array();
var arr = new Array(1, 2, 'good');

arr.map()

arr.map(),将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组。
const arr = [1, 3, 5];
const arr2 = arr.map((e)=>{
    return e * 2;
})
console.log(arr2);  // 2, 6, 10

arr.forEach()

遍历,将数组中的每个元素执行传进提供的函数,没有返回值,注意和 Array.map() 方法区分。
const arr = [1, 3, 5];
arr.forEach((e)=>{
    console.log(e);
})
// 1
// 3
// 5

arr.filter()

将所有元素进行判断,将满足条件的元素作为一个新的数组返回。
// 筛选出数组中的偶数
const arr = [1, 2, 3, 5, 6];
function myfunc(e) {
    return e%2 == 0;
}
const arr2 = arr.filter(myfunc)
console.log(arr2)

arr.every()

将所有元素进行判断如果所有满足,返回 true
const arr = [2, 3, 5, 6];
const myfunc1 = value => value > 4;
const myfunc2 = value => value > 1;
console.log(arr.every(myfunc1)); // false
console.log(arr.every(myfunc2)); // true

arr.some()

将所有元素进行判断只要有一个满足,返回 true。
const arr = [2, 3, 6, 8];
const myFunc = value => value%2 === 1;
console.log(arr.some(myFunc));  // true 3为基数

arr.reduce()

所有元素调用返回函数,返回值为最后结果,传入的值必须是函数类型。
const arr = [1, 2, 3, 4];
const myFunc = (a, b) => a + b;
console.log(arr.reduce(myFunc));    // 10,实现一个累加效果

arr.push()

数组的后面添加新加元素,数组长度改变。
const arr = [1, 2];
arr.push('a')
console.log(arr);   // [1, 2, 'a']

arr.pop()

数组的后面删除一个元素,数组长度改变。
const arr = [1, 2, 3];
arr.pop();
console.log(arr);   // [1, 2]

arr.shift()

删除数组第一个元素,数组长度改变。
const arr = [1, 2, 3];
arr.shift();
console.log(arr);   // [2, 3]

arr.unshift()

此方法是将一个或多个元素添加到数组的开头,并返回新数组的长度。
const arr = [1, 2, 3];
arr.unshift('a','b');
console.log(arr);   // ["a", "b", 1, 2, 3]

arr.concat()

合并多个数组。
const arr1 = ['a', 'b'];
const arr2 = [1, 2];
const arr3 = arr1.concat(arr2);
console.log(arr3);  // ["a", "b", 1, 2]

arr.toString()

将数组转换为字符串。
const arr = ['a', 'b', 'c'];
const str = arr.toString();
console.log(str);   // a,b,c

arr.join()

也是将数组转换为字符串,可设置间隔。
const arr = [1, 2, 3];
const str = arr.join('*');
console.log(str);   // 1*2*3

arr.splice()

从某个元素开始删除。
const arr = [1, 2, 3, 4, 5];
arr.splice(2, 2);
console.log(arr);   // [1, 2, 5]

arr.reverse()

反向。
const arr = [1, 2, 3];
arr.reverse();
console.log(arr);  // [3, 2, 1]

arr.find()

找出数组匹配元素。
const arr = [
    {name: 'Jack', age: 28},
    {name: 'Lily', age: 25},
    {name: 'Hyman', age: 35}
]

const lily = arr.find(people => (people.name === 'Lily'));

console.log(lily);   // {name: "Lily", age: 25}

arr.findIndex()

找出数组匹配元素的索引。
const arr = [
    {name: 'Jack', age: 28},
    {name: 'Lily', age: 25},
    {name: 'Hyman', age: 35}
]

const HymanIndex = arr.findIndex(people => (people.name === 'Hyman'));  // 2
console.log(arr[HymanIndex]);   // {name: "Hyman", age: 35}

Array

数组原型上无 from()、of() 方法,顾需 Array.调用。

Array.isArray()

判断是否为数组,返回 true,false。
const arr = [1, 2, 3];
const res = Array.isArray(arr);
console.log(res);   // true

Array.from()

通过字符串创建一个数组。
const arr = Array.from("hello");
console.log(arr);   //  ["h", "e", "l", "l", "o"]
var arr = Array.from([1, 2, 3], x => x * 10);
// arr[0] == 10;
// arr[1] == 20;
// arr[2] == 30;

Array.of()

将一组值,转换为数组。
Array.of(1) // [1] 
Array(1)    // [empty]

Array.of(1, 2, 3)   // [1 ,2, 3]
new Array(1, 2, 3)    // [1 ,2, 3]

不要删除

小站不易,感谢支持!