分享数组的一些方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

数组的一些方法.


前言

今天来分享一些数组的常用方法


提示:以下是本篇文章正文内容,下面案例可供参考

一、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)]

标题# 总结

提示:这里对文章进行总结:
没啥好说的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值