JS 数组常用方法
2020/8/3 10:20:47
过滤
var arr = [
{ id:1, name:"tom", age:20 },
{ id:2, name:"jack", age:18 },
{ id:3, name:"jerry", age:30 },
];
console.log('======================================')
console.log(JSON.stringify(arr));
// 过滤: 得到大于20岁的人
console.log('过滤: 得到大于20岁的人')
gl>var oldPersons = arr.filter(m => {
if(m.age > 20)
return m;
})
console.log(JSON.stringify(arr));
console.log(JSON.stringify(oldPersons));
遍历
// 遍历:新增一个年纪:青年(20岁一下包括20岁),老年(60以上),壮年(其他)
gl>arr.forEach((item,index) => {
if(item.age <= 20) {
item.type = '青年'
}
else if (item.age > 60){
item.type = '老年'
}
else{
item.type = '壮年'
}
})
console.log(JSON.stringify(arr));
形成新的集合
如何新加的属性不改变原数组,则需要 深度复制
// 形成新的集合: 获取 id 集合
gl>var ids = arr.map(m => {
return m.id
});
console.log(ids)
var newArr = arr.map(m => {
// 深度复制
var mCopy = Object.assign({}, m);
mCopy.old = JSON.stringify(m)
return mCopy
})
console.log(JSON.stringify(arr))
console.log(JSON.stringify(newArr))
排序
arr.sort(function (a, b) {
if (a.age < b.age)
return -1;
})
console.log(JSON.stringify(arr))
扫码分享
版权说明
作者:SQBER
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
{0}
{5}
{1}
{2}回复
{4}
*昵称:
*邮箱:
个人站点:
*想说的话: