您的位置:首页 > Web前端 > JavaScript

JS 一些常用的数组处理的方法

2020-02-12 12:13 141 查看

说明:这篇文章是我在敲代码的过程中遇到的所有关于数组处理的方法,也是我最常用的,希望这篇文章能给你们带来一些帮助,废话不多说,直接上代码!

数组去重

// An highlighted block
function quchong(arr) {
const arrs = new Array();

arr.forEach((v: { staff_no: string }) => {
let flag = true;
arrs.forEach((i: { staff_no: string }) => {
if (v.staff_no === i.staff_no) {
flag = false;
}
});
if (flag) {
arrs.push(v);
}
});
return arrs;
}

我相信,你已经看出来了,主要的就是两层for循环罢了,而内层的for循环其实是实现了一下indexOf( )的功能。

数组分页

slice()可用于数组分页

// An highlighted block
const offset = (message.pagenos - 1) * message.pagesizes;
return { arr: (offset + message.pagesizes >= arr.length) ? arr.slice(offset, arr.length) : arr.slice(offset, offset + message.pagesizes) };

数组合并

数组中的对象某一相同的字段名,并统计合并某一指定字段的和;组成新的数组

// An highlighted block
// 数组处理
const obj = {};
const arr = [];
for (let i = 0, len = arr.length; i < len; i++) {
const currentData = arr[i];
const currentKey = currentData.layout_id;
const hased = currentKey in obj;
obj[currentKey] = {
name_room: currentData.name_room,
list: (hased ? obj[currentKey].list : []).concat({ rm_number: currentData.rm_number })
};
}
for (const key in obj) {
arr.push(obj[key]);
}

concat() 方法

// An highlighted block

var a = [1,2,3];
var b=[4,5]
a = a.concat(b);
console.log(a);
//此处输出为 [1, 2, 3 ,4 ,5]

push() 方法

// An highlighted block

var arr1 = [0, 1, 2];
var arr2 = [3, 4, 5];
arr1.push(...arr2);
console.log(arr1)//[0,1,2,3,4,5]
  • 点赞 1
  • 收藏
  • 分享
  • 文章举报
Mr.LiLong 发布了1 篇原创文章 · 获赞 1 · 访问量 16 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: