提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
数组的一些方法.
前言
今天来分享一些数组的常用方法
提示:以下是本篇文章正文内容,下面案例可供参考
一、indexOf查找
在数组中查找某个元素首次出现的位置,找到就会返回索引值,找不到就返回-1
let arr=[2, 5, 9
arr.indexOf(2); // 0
arr.indexOf(7); // -1
arr.indexOf(9, 2); // 2
arr.indexOf(2, -1); // -1
arr.indexOf(2, -3); // 0
二、join:用于连接数组的每个成为字符串
let arr=[1,2,3]
arr.join(); // '1,2,3'
arr.join(' / '); // '1 / 2 / 3'
arr.join(''); // '123'
三.Array.from()
把伪数组转换成真数组
//从 String 生成数组
Array.from('foo');
// [ "f", "o", "o" ]
//从 Set 生成数组
const set = new Set(['foo', 'bar', 'baz', 'foo']);
Array.from(set);
// [ "foo", "bar", "baz" ]
四.forEach.遍历数组
let arr=[3,6,2,5,9,4,7]
arr.forEach((item,index,o)=>{
console.log(item,index,o)
//item: 代表当前项
//index: 代表索引值
//o:代表数组本身
})
五.find:返回数组中首次满足条件的元素
const array1 = [5, 12, 8, 130, 44];
const found = array1.find(item => item > 10);
console.log(found);
// expected output: 12
六.findIndex:
方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。
const array1 = [5, 12, 8, 130, 44];
const arr2 = (element) => element > 13;
console.log(array1.findIndex(arr2));
// expected output: 3
七.some:查找满足条件的元素,有一个满足为true
let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
let everyRes = numbers.some(function(item, index, array) {
return item > 2;
})
console.log(everyRes)
// > true
八.every.
查找满足条件的元素,都满足返回true,否者就是false
var a = [1,2,3,4,5,6];
var b = a.every(function(x){
return x < 8;
});
var c = a.every(function(x){
return x < 5;
})
console.log(b); //这里返回true
console.log(c); //这里返回false
九.arr.filter(fn)
遍历筛选元素,把满足条件的元素筛选出来后放到新数组中返回
var numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var everyRes = numbers.filter(function(item, index, array) {
return item > 2;
})
// > [ 3, 4, 5, 4, 3 ]
十.arr.reduce(fn)
累加器
//[ 前一个元素 | 当前元素,从1开始 | 后一个元素的序列,从1开始计数 | 表示该数组 ]
let values = [1, 2, 3, 4, 5];
let sum = values.reduce(function(prev, cur, index, array) {
return prev + cur;
})
// > 15
//每一次迭代之后的结果分别为
// [3, 3, 4, 5]
// [6, 4, 5]
// [10, 5]
// 15
十一.arr.unshift()
从数组头部添加元素
var colors = ['green', 'red'];
colors.unshift('pink');
// > ['pink','green', 'red‘]
十二.push()
从数组末尾添加元素
var colors = ['red', 'yellow'];
colors.push('pink');
// > ['red', 'yellow','pink']
十三.arr.reverse()
反转数组的顺序,并返回重新排序之后的数组, 原数组会被改变
[1, 2, 3, 'reer', 'game', 2, 5].reverse();
// > [5, 2, "game", "reer", 3, 2, 1]
十四.pop()
删除数组的最后一项
let ary2 = [108,112,39,10];
ary2.pop();//删除的最后一项为10
console.log(ary2);//[108, 112, 39]
十五.reverse()
把数组倒过来排列
let ary12 = [6,8,10,12];
console.log(ary12.reverse());//[12, 10, 8, 6]
十六.includes()
方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。
[1, 2, 3].includes(2); // true
[1, 2, 3].includes(4); // false
[1, 2, 3].includes(3, 3); // false
[1, 2, 3].includes(3, -1); // true
[1, 2, NaN].includes(NaN); // true
十七. concat()
方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
const array1 = ['a', 'b', 'c'];
const array2 = ['d', 'e', 'f'];
const array3 = array1.concat(array2);
console.log(array3);
// expected output: Array ["a", "b", "c", "d", "e", "f"]
十八. new Set
用于数组去重
const arr = [true, 1, 'str', 's', 2, false, true, {}, [], function() {}, {}, [1], [2], { obj: 1 }, 2, 'str']
const qc = [...new Set(arr)]
标题# 总结
提示:这里对文章进行总结:
没啥好说的