js的数组方法小结

数据类型

ECMAScript中有5中简单数据类型(也称为基本数据类型): Undefined、Null、Boolean、Number、String
还有1中复杂的数据类型————Object,Object本质上是由一组无序的名值对组成的。其中Undefined、Null、Boolean、Number都属于基本类型。Object、Array和Function则属于引用类型

1.push() 数组尾部添加

var a=[1,2,3];a.push(5);a//[1, 2, 3, 5]

2.unshift() 数组头部添加

var a=[1,2,3];a.unshift(5);a//[5,1, 2, 3]

3.pop() 数组尾部删除

var a=[1,2,3];a.pop();a//[1, 2]

4.shift() 数组头部删除

var a=[1,2,3];a.shift();a//[2,3]

5. splice() 向/从数组中添加/删除项目,然后返回被删除的项目

splice(num)

//num>=0
var a=[1,2,3,5];a.splice(0);a//[]
var a=[1,2,3,5];a.splice(1);a//[1]
var a=[1,2,3,5];a.splice(4);a//[1,2,3,5]
var a=[1,2,3,5];a.splice(5);a//[1,2,3,5]
//num<0
var a=[1,2,3,5];a.splice(-1);a//[1,2,3]
var a=[1,2,3,5];a.splice(-4);a//[]

splice(index,num) 对数组 删除
index表示索引,num表示 删除的项的数量

var a=[1,2,3,5];a.splice(0,0);a;//[1, 2, 3, 5]
var a=[1,2,3,5];a.splice(0,2);a;//[3, 5]

splice(index,num,item1,…,itemX)

index 表示 插入的位置 若是index为正,表示从左往右插入,若index为负,表示从右往左插入
num num>0,表示先从index开始删除num个项,然后再把后面的项从index插入,如果num为 0,则直接在index处插入
item 表示向数组添加的新项目

var a=[1,2,3,5];a.splice(0,0,8,9);a//[8,9,1,2,3,5]
var a=[1,2,3,5];a.splice(0,1,8,9);a//[8,9,2,3,5]

6.concat() 数组拼接

var a=[1,2,3,5];var b=a.concat([8,9]);b// [1, 2, 3, 5, 8, 9]

7.join() 数组拼接为字符串

join() 默认用逗号分开,也可以用其他的字符串拼接

var a=[1,2,3,5];var b=a.join();b//"1,2,3,5"
var a=[1,2,3,5];var b=a.join('_');b//"1_2_3_5"

8.sort() 数组排序

sort()默认升序排序

var a=[1,6,3,5];var b=a.sort();b //[1, 3, 5, 6]

sort()也可降序排序

var a=[1,6,3,5];var b=a.sort(function(a,b){return b-a});b//[6, 5, 3, 1]

9.reverse() 数组颠倒排序

reverse只是改变原有数组的顺序,不对数组进行降序或升序

var a=[1,6,3,5];var b=a.reverse();b //[5, 3, 6, 1]

10.indexOf() lastIndexOf() 查找

indexOf()查找元素第一次出现的位置,返回索引

var a=[1,6,3,5,3,4];var b=a.indexOf(3);b//2

lastIndexOf()查找元素最后一次出现的位置,返回索引

var a=[1,6,3,5,3,4];var b=a.lastIndexOf(3);b//4

12.filter() 过滤

filter() 方法返回数组中满足条件的元素组成的新数组,原数组不变

var a = [1, 2, 3, 4, 11];var b=a.filter((e,index)=>e>2);b//[3, 4, 11]

13.map() 格式化数组

map() 方法来根据需求格式化原数组,返回格式化后的数组。原数组不变

 var a = [1, 2, 3, 4, 11];var b=a.map(e=>e>2);b;//[false, false, true, true, true]
 var a = [1, 2, 3, 4, 11];var b=a.map(e=>e+1);b;//[2, 3, 4, 5, 12]

对数组进行遍历筛选,返回一个新的数组

var a = [{id:1,value:'z'},{id:2,value:'h'},{id:3,value:'q'}];
var b=a.map(function(item){return{ids:item.id,label:item.value}});b

//[{ids: 1, label: "z"},{ids: 2, label: "h"},{ids: 3, label: "q"}]

14.every()

对数组的每一项都运行给定的函数,若每一项都返回 ture, 则返回 true

var a = [1, 2, 3, 4, 5]
        var b = a.every(function (current, index, array) {
            return current < 6
        })
        var c = a.every(function (current, index, array) {
            return current < 3
        })
        console.log(b)  // true 
        console.log(c)  // false 

15.some()

对数组的每一项都运行给定的函数,若存在一项或多项返回 ture, 则返回 true

var a = [1, 2, 3, 4, 5]
    var b = a.some(function (current, index, array) {
        return current > 4
    })
    var c = a.some(function (current, index, array) {
        return current > 5
    })
    console.log(b)  // true 
    console.log(c)  // false 

16.forEach() 数组遍历

不符合条件的直接跳过

var a = [1, 2, 3, 4, 11];
var b=a.forEach(function(item){if(item==3){return}console.log(item)});
//1 2 4 11

将符合条件的项放入到新数组中

var a = [1, 2, 3, 4, 11];var b=[];
a.forEach(function(item){if(item==3){return}b.push(item)});b;//[1, 2, 4, 11]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coderdwy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值