重磅!超详细的JS数组方法整理出来了

数组方法

替换 删除 插入(万能)

array.splice( )
let arr = ['a', 'b', 'c', 'd']

// 替换  参数: 1)起点 2)长度 3)用什么替换
arr.splice(2, 1, 'x','y')

console.log( arr )  // ['a', 'b', 'x', 'y', 'd']
let arr = ['a', 'b', 'c', 'd']

// 插入  参数: 1)起点 2)长度 3)用什么替换   长度为0 就是插入了
arr.splice(2, 0, 'x','y')

console.log( arr )  // ['a', 'b', 'c', 'x', 'y', 'd']
let arr = ['a', 'b', 'c', 'd']

// 删除  参数: 1)起点 2)长度 
arr.splice(2, 1)

console.log( arr )   // ['a', 'b', 'd']

遍历

for…of
let arr = ['a', 'b', 'c', 'd']

for(let v of arr) {
    console.log( v )
}
//a,b,c,d
map

返回一个新数组. 新数组的元素值为 匿名函数 的返回值

 let arr = [10, 20, 30, 40]
        let arrs=arr.map(function (value, index) {
            return value + 7
        })
        console.log(arrs)//[17, 27, 37, 47]
filter

当匿名函数返回 true 时, 相应的元素 存储会在 一个返回的新数组中. 当然, 原数组不变(不删除)

let arr = [23,42,55,27,86,49]
let brr = arr.filter(function(value, index){
                if (value%2 == 0) {
                    return true;
                }
            })
console.log( brr )//42,86
forEach
let arr = ['a', 'b', 'c', 'd']
arr.forEach(function(value, index){
    console.log(value, index)
})
//a,0  b,1  c,2  d,3

包含

let arr = ['love', 'like', 'miss', 'fancy']

// 数组中是否包含 'miss' 元素值
let res = arr.includes('miss')
console.log( res ) // true

合并

let arr = ['a', 'b', 'c']
let brr = ['x', 'y', 'z']
arr.concat(brr)  // arr 与 brr 合并, 返回一个新数组

排序

let arr = [87, 65, 58, 34, 21, 56, 7]

// 对数组进行排序. 默认是以字符串排序. 
// a, b 代表数组中任意两个元素比较, 根据数值比较结果进行排序
arr.sort(function(a, b){
	return a - b
})
// [7, 21, 34, 56, 58, 65, 87]
array.push()

在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。

var a = [];
a.push(1) // 1
a.push('a') // 2
a.push(true, {}) // 4
console.log( a ); //[1, 'a', true, {}]
array.pop()

用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组

var a = ['a', 'b', 'c'];
a.pop() // 'c'
console.log( a );// ['a', 'b']
array.unshift()

在数组头部插入元素, 并返回数组的长度. 该方法会改变原数组

var a = ['a', 'b', 'c']
a.unshift('x','y')
console.log( a ) // ['x', 'y', 'a', 'b', 'c']
array.shift()

从数组头部移除一个元素, 并返回该元素的值. 该方法改变原数组

var a = ['a', 'b', 'c']
a.shift()
console.log( a ) // ['b', 'c']

截取

slice()

用于提取原数组的一部分,返回一个新数组,原数组不变。

它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。 如果省略第二个参数,则一直返回到原数组的最后一个成员。

var a = ['a','b','c','d','e'];
console.log(a.slice(0)) // "a", "b", "c", "d", "e"]
console.log(a.slice(1)) // ["b", "c", "d", "e"]
console.log(a.slice(1,3)); // ["b", "c"]
array.indexOf()

返回 元素值 第一次出现的下标. 没有该值,会返回 -1

let arr = ['a','b','b','c']
let index = arr.indexOf('b')
console.log(index)
//1
array.find()

返回第一个让匿名函数结果为true的 元素值

      let arrs = [0, 2, 5, 8, 29, 4, -1, 9]

        // 从数组中 获取第一个 >5 的元素, 返回元素值 
        var arr=arrs.find(function (val, index) {
            if (val > 5) {
                return true;   // 终止遍历
            }

            return false;
        })
        console.log(arr)//8

array.findIndex()

返回第一个符合条件的元素的下标

let arrs = [0,2,4,6,7,9]

let r = arrs.findIndex(function(val, index){
	if (val>5) {
		return true;
	}
})
//3
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值