簡體   English   中英

將數組對象鍵值對屬性轉換為單個鍵值對,然后將其再次插入數組

[英]Convert Array Objects key value pairs properties to a single key value pair and insert it into array again

我有一個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 array = [{ 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(object); 

如果您的意思是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;
}, []);
const array1 = [ {no: 50, name: 'Ajinkya'}, {no: 89, name: 'Akshay'}, {no: 29, name: 'Rajesh'}, {no: 15, name: 'Vikram'} ];

const array2 = {} ;

for (const itm of array1) {
      array2[itm.no] =itm.name;
} 

我將數組簡化為一個對象,您可以在其中通過id查找項目。 在這里,數組實際上沒有任何意義。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM