码迷,mamicode.com
首页 > Web开发 > 详细

js如何修改对象的key值,value值不变?

时间:2021-03-10 13:01:03      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:image   代码   mamicode   写法   info   lan   loading   alt   tps   

对应的值不变,只是改key的名称

原数据:

 1 var array = [
 2     {
 3         id:1,
 4         name:"小明"
 5     },
 6     {
 7         id:2,
 8         name:"小红"
 9     }
10 ];

我要改为的数据:

 1 var array = [
 2     {
 3         value:1,
 4         label:"小明"
 5     },
 6     {
 7         value:2,
 8         label:"小红"
 9     }
10 ];

上代码:

 1 // 原生js
 2 var array = [
 3     {
 4         id:1,
 5         name:"小明"
 6     },
 7     {
 8         id:2,
 9         name:"小红"
10     }
11 ];
12 //旧key到新key的映射
13 var keyMap = {
14     "id" : "value",
15     "name" : "label"
16 };
17 
18 for(var i = 0;i < array.length;i++){
19         var obj = array[i];
20         for(var key in obj){
21                    var newKey = keyMap[key];
22                    if(newKey){
23                             obj[newKey] = obj[key];
24                             delete obj[key];
25                      }
26             }
27 }
28 console.log(array);
29 
30 
31 // ES6 写法
32 var result = array.map(o =>{
33     return{
34          value:o.id,
35          label:o.name
36     }
37 });
38 console.log(result);

结果:

技术图片

可以看到key值已经改变,值还是原来的值。成功!

 

原地址:https://segmentfault.com/q/1010000015794387

js如何修改对象的key值,value值不变?

标签:image   代码   mamicode   写法   info   lan   loading   alt   tps   

原文地址:https://www.cnblogs.com/Aiqizai/p/14506189.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!