JavaScript数组常用方法

本文深入探讨了JavaScript中数组的各种操作方法,包括数据的增删改查、转换、排序、求和等,提供了丰富的示例代码,帮助读者掌握数组处理技巧。

0. 数据:取用与插入

push:尾部插入,pop:尾部取出,shift:头部取出,unshift:头部添加

1.“瑞士军刀”:splice

可替换,删除,增加

let arr=['jack','kitty','jerry'];
delete arr[1];
console.log(arr);/* [ 'jack', <1 empty item>, 'jerry' ] */
console.log(arr.length);/* 3 */

arr.splice(1,1);
console.log(arr);/* 改变了 */
arr.splice(0,2,'-');
console.log(arr);
arr.splice(1,0,'*');
console.log(arr);
arr.splice(-2,0,3,4);
console.log(arr);

2.亦可用于字符串:slice

let str="test";
let arr=["t","e","s","t"];
console.log(str.slice(1,3));
console.log(arr.slice(1,3));
console.log(str.slice(-2));
console.log(arr.slice(-2));

console.log(str);/* 并未改变 */
console.log(arr);

3.连接:concat

let arr=[1,2];
console.log(arr.concat([3,4]));
console.log(arr);/* 并未改变 */
console.log(arr.concat([5,6],[7,8]));
console.log(arr);
console.log(arr.concat([9],10));
console.log(arr);

4.查找索引:indexOf

let arr=[1,0,false];
console.log(arr.indexOf(0));
console.log(arr.indexOf(false));
console.log(arr.indexOf(null));
console.log(arr.includes(1));

5.查找单个元素:find

let users=[
    {id:1,name:"john"},
    {id:2,name:"pete"},
    {id:3,name:"mary"}
];
let user=users.find(item=>item.id==1);
console.log(user.name);

6.过滤多个元素:filter

let users=[
    {id:1,name:"john"},
    {id:2,name:"pete"},
    {id:3,name:"mary"}
];
let user=users.filter(item=>item.id<3);
console.log(user);

7.映射元素内容:map

let lengths=["dd","ghj","gga"].map(item=>item.length);
console.log(lengths);

8.排序:sort

let arr=[1,5,3,55,4];
arr.sort();
console.log(arr);

9.翻转:reverse

let arr=[1,5,3,55,4];
arr.reverse();
console.log(arr);

10.字符串<==>数组:split,join

/* 字符串转数组 */
let names='bidd,da,hs';
let arr=names.split(',');
for(let name of arr){
    console.log(`A message to ${name}.`);
}

/* 数组转字符串 */

let str=arr.join(';')
console.log(str);

11.求和相关:reduce

/* 数组元素和加上当前值 */
let arr=[1,2,3,4,5];
let result=arr.reduce((sum,current)=>sum+current,5);
console.log(result);

12.判断是否是数组:isArray

console.log(typeof{});
console.log(typeof[]);
console.log(Array.isArray({}));
console.log(Array.isArray([]));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值