Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.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 将数组对象的键值对属性转换为单个键值对,然后再次将其插入数组_Javascript_Arrays_Object - Fatal编程技术网

Javascript 将数组对象的键值对属性转换为单个键值对,然后再次将其插入数组

Javascript 将数组对象的键值对属性转换为单个键值对,然后再次将其插入数组,javascript,arrays,object,Javascript,Arrays,Object,我有一个js数组 var array = [ {no: 50, name: 'Ajinkya'}, {no: 89, name: 'Akshay'}, {no: 29, name: 'Rajesh'}, {no: 15, name: 'Vikram'}, ] 要将其转换为数组吗 var array = [50:'Ajinkya', 89:'Akshay', 29:Rajesh, 15: 'Vikram'] 我试过这个 array.forEach( function(x){ temp[x[

我有一个js数组

var array = [ {no: 50, name: 'Ajinkya'}, {no: 89, name: 'Akshay'}, {no: 29, name: 'Rajesh'}, {no: 15, name: 'Vikram'}, ]
要将其转换为数组吗

var array = [50:'Ajinkya', 89:'Akshay', 29:Rajesh, 15: 'Vikram']
我试过这个

array.forEach(
 function(x){
 temp[x['no']] = x['name'];
})

但它并没有给出预期的结果

您可以使用所需的键/值对映射对象,并将它们分配给单个对象

使用的方法:

  • 用于从某些对象中创建单个对象
  • 要将数组作为参数
  • 用于变换对象
  • 用于分离属性
  • 用于创建新对象
var数组=[{no:50,name:'Ajinkya'},{no:89,name:'Akshay'},{no:29,name:'Rajesh'},{no:15,name:'Vikram'}],
object=object.assign(…array.map({no,name})=>({[no]:name}));

console.log(对象)您可以使用所需的键/值对映射对象,并将它们分配给单个对象

使用的方法:

  • 用于从某些对象中创建单个对象
  • 要将数组作为参数
  • 用于变换对象
  • 用于分离属性
  • 用于创建新对象
var数组=[{no:50,name:'Ajinkya'},{no:89,name:'Akshay'},{no:29,name:'Rajesh'},{no:15,name:'Vikram'}],
object=object.assign(…array.map({no,name})=>({[no]:name}));

console.log(对象)
如果您的意思是
50:'Ajinkya'
是数组,第50个元素是'Ajinkya',那么

[{ no: 50, name: 'Ajinkya' },
{ no: 89, name: 'Akshay' },
{ no: 29, name: 'Rajesh' },
{ no: 15, name: 'Vikram' }].reduce((acc, prev) => {
  acc[prev.no] = prev.name;
  return acc;
}, []);

如果您的意思是
50:'Ajinkya'
是数组,第50个元素是'Ajinkya',那么

[{ no: 50, name: 'Ajinkya' },
{ no: 89, name: 'Akshay' },
{ no: 29, name: 'Rajesh' },
{ no: 15, name: 'Vikram' }].reduce((acc, prev) => {
  acc[prev.no] = prev.name;
  return acc;
}, []);

我会将数组简化为一个对象,在这个对象中可以通过id查找项目。数组在这里没有真正的意义

const数组=[{no:50,name:'Ajinkya'},{no:89,name:'Akshay'},{no:29,name:'Rajesh'},{no:15,name:'Vikram'},];
const newStructure=array.reduce((acc,{no,name})=>{
acc[编号]=名称;
返回acc;
}, {});

console.log(newStructure)我会将数组简化为一个对象,在这个对象中可以按id查找项目。数组在这里没有真正意义

const数组=[{no:50,name:'Ajinkya'},{no:89,name:'Akshay'},{no:29,name:'Rajesh'},{no:15,name:'Vikram'},];
const newStructure=array.reduce((acc,{no,name})=>{
acc[编号]=名称;
返回acc;
}, {});

console.log(newStructure)某些内容不是有效的javascript。你是说一个对象吗?如果你正确地将
temp
初始化为
{}
,那么你尝试的代码就可以工作了。有些东西是无效的javascript。你是说一个对象吗?如果你正确地将
temp
初始化为
{}
@newbee,那么你尝试的代码就可以工作了,如果我正确地完成了你的任务,就可以了。因为第89个元素给出了90个len的数组。否则,如果您想要一个字段为{50:'Ajinkya'}的对象,它就不同了(您应该更新您的问题,并用
{}
替换
[]
,如果是这样)对不起,sychd,我有点困惑。我现在找到解决办法了。谢谢你的好意回复。@newbee,如果我没有弄错你的任务-没关系。因为第89个元素给出了90个len的数组。否则,如果您想要一个字段为{50:'Ajinkya'}的对象,它就不同了(您应该更新您的问题,并用
{}
替换
[]
,如果是这样)对不起,sychd,我有点困惑。我现在找到解决办法了。谢谢你的热情回应。