Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将对象中的id更改为值_Javascript_Arrays_Object - Fatal编程技术网

Javascript 如何将对象中的id更改为值

Javascript 如何将对象中的id更改为值,javascript,arrays,object,Javascript,Arrays,Object,有一个我从服务器收到的对象。那样子 我需要将所有“id”更改为“值” 尝试解析为JSON更改它并转换为数组,但结果非常糟糕 var x = nextProps.campus; var fff = JSON.stringify(x); var res = fff.replace(/name/g, "value"); var arr = []; for (var prop in res) { arr.pu

有一个我从服务器收到的对象。那样子

我需要将所有“id”更改为“值” 尝试解析为JSON更改它并转换为数组,但结果非常糟糕

var x = nextProps.campus;
        var fff =  JSON.stringify(x);

        var res = fff.replace(/name/g, "value");

        var arr = [];
        for (var prop in res) {
            arr.push(res[prop]);
            }
结果我需要这样

var options = [
    { value: 'one', label: 'One' },
    { value: 'two', label: 'Two' }
];
你可以用

var body=[{
id:1,
名称:“学校测试1”
}, {
id:2,
名称:“学校测试2”
}];
var options=body.map((x)=>({value:x.id,label:x.name}));

console.log(选项)您可以迭代数组,然后使用旧值分配新属性并删除该属性

var options=[{name:'one',label:'one'},{name:'two',label:'two'}];
选项。forEach(函数(o){
o、 值=o.name;
删除o.name;
});

console.log(选项)您可以使用lodash这样做:

var myData= [{
      id: 1,
      name: "school_test_1"
    }, {
      id: 2,
      name: "school_test_2"
    }]

var changeLabel= {
  id: 'value',
  name: 'label'
};


var newArray = _.map(myData ,function(obj) {
  return _.mapKeys(obj, function(value, key) {
    return changeLabel[key];
  });
});

请以文字表示法添加对象。
data.map({id,name})=>({value:id,name}))
将完成作业,但不要求LODASHORY,这可以是usfel供您使用:stackoverflow.com/questions/27158371/rename-keys-in-javascript-array您为什么发送此链接?我只是说OP没有要求lodash回复链接不是关于lodash的我说它可以帮助你,这不是我们回答的好方法。祝你好运