JS提取对象的部分属性
1 var data= 2 [ 3 { 4 "id": 1, 5 "username": "u1", 6 "passwd": "p1", 7 "start_time": 1654065668, 8 "expires": 1654963200, 9 "comment": "comment1", 10 "enabled": "yes", 11 "create_time": 1654065668 12 }, 13 { 14 "id": 2, 15 "username": "u2", 16 "passwd": "p2", 17 "start_time": 1654065668, 18 "expires": 1654963200, 19 "comment": "comment2", 20 "enabled": "yes", 21 "create_time": 1654065668 22 }, 23 { 24 "id": 3, 25 "username": "u3", 26 "passwd": "p3", 27 "start_time": 1654065668, 28 "expires": 1654963200, 29 "comment": "comment3", 30 "enabled": "yes", 31 "create_time": 1654065668 32 } 33 ]
只需要提取 id, username, enabled 这3个字段
不需要其他字段
1 let newData=data.map( 2 // 这里利用了ES6 中的参数解构把需要的属性明确 包含 列出来, 3 // 在需要的属性比较少的情况下使用 4 ({ id, username, enabled}) => 5 ({ id, username, enabled}) 6 ); 7 8 9 console.log(newData);
假如 在一个接口中需要提取 除了passwd 以外的字段,因为一个一个写列表比较长,所以此处用排除法
1 let newData1=data.map( 2 // 这里利用了ES6 中的参数解构 和 扩展运算符... 3 // 在需要的属性比较多,且排除的属性比较少的情况下使用 4 // 此处我们把passwd 单独提取出来,并用 ...newEntity 把其他属性都放到了 5 // newEntity 这个对象中,这样newEntity 就不包含passwd 6 ({ passwd, ...newEntity}) => 7 (newEntity) 8 ); 9 console.log(newData1);

浙公网安备 33010602011771号