js数组操作

一.判断某一对象是否为数组

1.Array.isArray(arr)

let arr = [1, 2, 3];
Array.isArray(arr);    // true

2.instanceof

let arr = [1, 2, 3];
arr instanceof Array;    // true

 二.添加

1.push(value)

//在数组末端插入,执行成功返回数组长度,改变原数组
let arr = [1,2,3];
arr.push(4);    // 4
console.log(arr);    // [1, 2, 3, 4]

 2.unshift()

// 将参数添加到数组开头位置,添加成功返回数组长度,改变原数组
let arr = [1,2,3];
arr.unshift(0);    // 4
console.log(arr);    // [0, 1, 2, 3]

3.concat(arr1,arr2,...)

// 合并数组,不改变原数组
let a = [1,2,3];
let b = [4,5];
let c = a.concat(b);
console.log(a);    // [1,2,3]
console.log(c);    // [1,2,3,4,5]
// es6
let a = [1];
let b = [2];
let c = [...a, ...b];
console.log(c);    // [1,2]

三.删除

1.shift()

// 删除数组第一项,删除成功返回删除项的值,改变原数组
let arr = [1,2,3];
arr.shift();    // 1
console.log(arr);    // [2,3]

2.pop()

// 删除数组最后一项,删除成功返回删除的值,改变原数组
let arr = [1,2,3];
arr.pop();    // 3
console.log(arr); // [1, 2]

3.splice(start,deleteCount,val1,val2,...)

从start位置开始删除deleteCount项,并从该位置起插入val1,val2,... 
let arr = [1,2,3];
arr.splice(0,1,1,1);    // 1
console.log(arr);    // [1,1,2,3]

四.截取

1.slice(start,end)

// start到end截取,不改变原数组
let arr = [1,2,3];
let b = arr.slice(1,2);
console.log(arr);    // [1,2,3]
console.log(b);    // [2]

五.转字符串

1.toString()

let arr = [1,2,3];
arr.toString();    // "1,2,3"

2.join(fh)

let arr = [1,2,3];
arr.join('-');    // "1-2-3"

六.排序

1.reverse()

// 将数组反序,改变原数组
let arr = [1,2,3];
arr.reverse();    // [3,2,1]

2.sort(orderfounction)

//  sort() 方法可以接受一个方法为参数 ,这个方法有两个参数。分别代表每次排序比较时的两个数组项。sort()排序时每次比较两个数组项都会执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1或大于1的时候就交换两个数组项的顺序,否则就不交换。
let arr = [3, 1, 4, 6];
arr.sort((after, befor) => {
	return after - befor
});    // [1, 3, 4, 6]

七.过滤

1.filter()

// 数组过滤
let arr = [1,2,3,4]
arr.filter((v) => {
	return v > 2
});    //[3, 4]

八.累加器

1.reduce()

// reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
let arr = [1,2,3];
let sum = arr.reduce((prev,cur) => {
    return prev + cur
}, 0);    // 6

注:Array.from(new Set(arr));   //数组去重

注:[...new Set(arr)];    //最简单的数组去重

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值