1、map 不会检测空数组
2、map 不会改变原始数组
var data = [
{
id: 1,
username: "u1",
passwd: "p1",
start_time: 1654065668,
expires: 1654963200,
comment: "comment1",
enabled: "yes",
create_time: 1654065668,
},
{
id: 2,
username: "u2",
passwd: "p2",
start_time: 1654065668,
expires: 1654963200,
comment: "comment2",
enabled: "yes",
create_time: 1654065668,
},
{
id: 3,
username: "u3",
passwd: "p3",
start_time: 1654065668,
expires: 1654963200,
comment: "comment3",
enabled: "yes",
create_time: 1654065668,
},
];
let newData = data.map(
// 这里利用了ES6 中的参数解构把需要的属性明确 包含 列出来,
// 在需要的属性比较少的情况下使用
({ id, username, enabled }) => ({ id, username, enabled })
);
//[
// { id: 1, username: 'u1', enabled: 'yes' },
//{ id: 2, username: 'u2', enabled: 'yes' },
// { id: 3, username: 'u3', enabled: 'yes' }
//]
let newData = data.filter(
// 这里利用了ES6 中的参数解构把需要的属性明确 包含 列出来,
// 在需要的属性比较少的情况下使用
({ id, username, enabled }) => id > 2
);
[
{
id: 3,
username: 'u3',
passwd: 'p3',
start_time: 1654065668,
expires: 1654963200,
comment: 'comment3',
enabled: 'yes',
create_time: 1654065668
}
]
map主要是对其进行加工处理,而map中不符合的情况输出是undefand,不会改变数组长度
fluter则不同他是对原数组的过滤,返回新数组