js修改数组对象的属性(key)名

本文介绍了一种使用JavaScript将数组中对象的键名进行批量替换的方法,通过map函数遍历原始数据,创建新的对象并将旧键名替换成新键名,实现了data1到data2的转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

例如:把如下data1的key名称修改成data2中的key名称

data1: [ { appName: '应用1', capacity: 233456 }, { title: '应用2', key: 124535 }] 
 
data2: [ { name: '应用1', value: 233456 }, { name: '应用2', value: 124535 } ]

方法:

var data2=[];
data1.map((value,index,arry)=>{
   data2.push({ 'name': value.latitude, 'value': value.longitude })
})

 

### 如何在编程中重命数组对象属性 在 JavaScript 中,可以通过多种方式来修改数组对象中的属性(即键)。以下是几种常见的方法: #### 方法一:使用 `map` 函数重新构建对象 可以利用 `Array.prototype.map()` 方法遍历数组并返回一个新的数组,在这个过程中定义新的键值对。 ```javascript const array = [ { oldKey: "value1", otherProperty: 42 }, { oldKey: "value2", otherProperty: 84 } ]; // 使用 map 创建新数组,同时更为 newKey const newArray = array.map(item => ({ ...item, newKey: item.oldKey, // 将旧键映射到新键 oldKey: undefined // 删除原键 (可选) })); console.log(newArray); // 输出: [{newKey: "value1", otherProperty: 42}, {newKey: "value2", otherProperty: 84}] ``` 这种方法通过扩展运算符 (`...`) 复制原始对象的所有其他属性,并显式设置新的键值对[^4]。 --- #### 方法二:手动迭代并重建对象 如果不想使用高阶函数,也可以通过传统的循环实现相同效果。 ```javascript const array = [ { oldKey: "value1", otherProperty: 42 }, { oldKey: "value2", otherProperty: 84 } ]; for (let i = 0; i < array.length; i++) { const newItem = {}; Object.keys(array[i]).forEach(key => { if (key === "oldKey") { newItem["newKey"] = array[i][key]; // 更 } else { newItem[key] = array[i][key]; // 保留原有键 } }); array[i] = newItem; } console.log(array); // 输出: [{newKey: "value1", otherProperty: 42}, {newKey: "value2", otherProperty: 84}] ``` 这种方式更加灵活,适合需要更复杂的逻辑场景[^4]。 --- #### 方法三:借助 Lodash 库简化操作 Lodash 是一个流行的实用工具库,提供了许多方便的方法用于处理数据结构。例如,可以用 `_.mapKeys` 或类似的辅助函数完成任务。 ```javascript const _ = require('lodash'); const array = [ { oldKey: "value1", otherProperty: 42 }, { oldKey: "value2", otherProperty: 84 } ]; const renamedArray = _.map(array, obj => _.reduce(obj, (result, value, key) => { result[key === "oldKey" ? "newKey" : key] = value; return result; }, {}) ); console.log(renamedArray); // 输出: [{newKey: "value1", otherProperty: 42}, {newKey: "value2", otherProperty: 84}] ``` 这里使用了 `_._reduce` 配合条件判断动态调整键。 --- ### 总结 以上三种方法都可以有效地解决数组对象中键的重命问题。推荐优先考虑 **方法一** 的简洁性和易读性;对于大规模或复杂的数据转换需求,则可以选择引入第三方库如 Lodash 提供的支持功能。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值