[英]What is the best practice to create a new array with different data structure on condition from the origin array?
assume I have an array as my origin data set假设我有一个数组作为我的原始数据集
const users = [
{id: 1, name: 'userOne', age: 23, licenseNumber: '95273380'},
{id: 2, name: 'userTwo', age: 21, licenseNumber: '95273381'},
{id: 3, name: 'userThree', age: 18, licenseNumber: ''},
{id: 4, name: 'userFour', age: 2, licenseNumber: '95273382'},
{id: 5, name: 'userFive', age: 77, licenseNumber: null},
{id: 6, name: 'userSix', age: 35, licenseNumber: '95273383'},
]
and now I want to create an new array base on it by conditions and with a new data structure现在我想根据条件和新的数据结构创建一个新的数组
(So far i tried filiter() method, But is only handle conditions, there no way i can custom a new data structure to return) (到目前为止,我尝试了 filiter() 方法,但只是处理条件,我无法自定义一个新的数据结构来返回)
Here you are, you can just use filter
to filter - then map
to build your new array.在这里,您可以只使用
filter
进行过滤 - 然后map
来构建您的新阵列。
const users = [ { "id": 1, "name": "userOne", "age": 23, "licenseNumber": "95273380" }, { "id": 2, "name": "userTwo", "age": 21, "licenseNumber": "95273381" }, { "id": 3, "name": "userThree", "age": 18, "licenseNumber": "" }, { "id": 4, "name": "userFour", "age": 2, "licenseNumber": "95273382" }, { "id": 5, "name": "userFive", "age": 77, "licenseNumber": null }, { "id": 6, "name": "userSix", "age": 35, "licenseNumber": "95273383" } ] const result = users.filter(x => x.licenseNumber).map(x => ({[x.licenseNumber]: x.name})); console.log(result);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.