js中新数组aMenu=[],有数组rows=[ {alwaysShow:'1', func_id: '2123',func_name:'fds', func_type: '12'}, {alwaysShow:'2', func_id: '245',func_name:'fsdfe', func_type: '15'}, ],如何将aMenu变为 aMenu= [ { id: '2123',name:'fds', type: '12'}, { id: '245',name:'fsdfe', type: '15'}, ]
时间: 2023-09-26 16:07:35 浏览: 155
可以使用 JavaScript 中的 map() 方法和对象解构来实现:
```javascript
const rows = [
{ alwaysShow: '1', func_id: '2123', func_name: 'fds', func_type: '12' },
{ alwaysShow: '2', func_id: '245', func_name: 'fsdfe', func_type: '15' },
];
const aMenu = rows.map(({ func_id: id, func_name: name, func_type: type }) => ({ id, name, type }));
console.log(aMenu);
// 输出:[ { id: '2123', name: 'fds', type: '12' }, { id: '245', name: 'fsdfe', type: '15' } ]
```
在 map() 方法中,我们传入一个函数,该函数接收每个数组元素作为参数。然后,我们使用对象解构从每个元素中提取需要的属性,并将它们重命名为新的键名。最后,我们将这些键值对封装成一个新的对象,并返回该对象,这样就得到了新的数组 aMenu。
相关问题
js中新数组aMenu=[],有数组rows=[ {alwaysShow:'1', func_id: '2123',func_name:'fds', func_type: '12'}, {alwaysShow:'2', func_id: '245',func_name:'fsdfe', func_type: '15'}, ],如何将aMenu变为 aMenu= [ { id: '2123',name:'fds', func_type: '12'}, { id: '245',name:'fsdfe', func_type: '15'}, ]
您可以使用 JavaScript 的 Array.map() 方法和对象解构来实现:
```javascript
const rows = [
{ alwaysShow: '1', func_id: '2123', func_name: 'fds', func_type: '12' },
{ alwaysShow: '2', func_id: '245', func_name: 'fsdfe', func_type: '15' },
];
const aMenu = rows.map(({ func_id: id, func_name: name, func_type }) => ({ id, name, func_type }));
console.log(aMenu);
// Output: [{ id: '2123', name: 'fds', func_type: '12' }, { id: '245', name: 'fsdfe', func_type: '15' }]
```
在这个例子中,我们使用 Array.map() 方法遍历数组 rows,并使用对象解构将每个对象的 func_id、func_name 和 func_type 属性分别赋值给变量 id、name 和 func_type。然后,我们使用对象字面量创建新的对象,该对象具有 id、name 和 func_type 属性,并将其添加到新的数组 aMenu 中。最后,我们打印输出 aMenu 数组来检查结果。
if (res && res.data && isSuccessCode(res.data) && res.data.rows) { let rowsArr = res.data.rows.map(item => { // 返回id和待解密字符串数组rows let obj = parseLicense(item.license_id) let user = this.userList.find(ele => { return ele.acuser_id === obj.acuser_id }) // 根据表格中license_id去查userList中对应LicenseId的UserName return { ...obj, user_name: user?.user_name, indexno: item.indexno, name_and_no: `${obj.provider_name}(${obj.provider_no})` } })
这段代码是对一个返回数据进行处理的过程。首先使用了短路运算符来判断 res 和 res.data 是否存在,并调用 isSuccessCode 函数判断是否成功获取数据且数据格式正确。如果满足条件,则对 res.data.rows 进行遍历处理,返回一个新的数组,该数组中包含了对每个 item.license_id 进行解密后得到的 obj,以及根据 obj 中的 acuser_id 在 this.userList 中匹配对应的 user,并将 user_name 添加到 obj 中,最终新数组的每个元素包含了解密后的 obj 的各个属性以及匹配到的 user 的 user_name 属性。
阅读全文