Home > Net >  Convert array of an array to object in javascript
Convert array of an array to object in javascript

Time:09-17

i have an array like

var arrays = [  
  { "name": "aaa", "value": "bbb" },
  { "name": "ccc", "value": "ccc" },
  { "name": "ddd", "value": [ 'ee', 'ff', 'gg' ] }
]

but i need the convert it into

var arrays = [
  { "name": "aaa", "value": "bbb" },
  { "name": "ccc", "value": "ccc" },
  { "name": "ddd", "value": "ee, ff, gg" }
]

CodePudding user response:

const modifiedArray = array.map(obj => {
      return {...obj, value: obj.value.toString()}
})

var array = [  
  { "name": "aaa", "value": "bbb" },
  { "name": "ccc", "value": "ccc" },
  { "name": "ddd", "value": [ 'ee', 'ff', 'gg' ] }
]

const modifiedArray = array.map(obj => {
      return {...obj, value : obj.value.toString()}
})

console.log(modifiedArray)

CodePudding user response:

There are many ways to do this. This is one of them:

const array = [  
  { "name": "aaa", "value": "bbb" },
  { "name": "ccc", "value": "ccc" },
  { "name": "ddd", "value": [ 'ee', 'ff', 'gg' ] }
];

array.forEach(el=>Array.isArray(el.value) && (el.value=el.value.join(" ,")))

console.log(array)

CodePudding user response:

Though this will only check 1 layer deep, also I'm not really sure what you're trying to do.

const arrays = [
  { name: "aaa", value: "bbb" },
  { name: "ccc", value: "ccc" },
  { name: "ddd", value: ["ee", "ff", "gg"] }
];

const converted = arrays.map(value => {
  let convert = { ...value };
  for (const key in convert) {
    if (Array.isArray(convert[key])) {
      convert[key] = convert[key].join(", ");
    };
  };
  return convert;
});

console.log(converted);

CodePudding user response:

A tweak on @kritiz's answer ...

array.map( obj => ({...obj, value : [].concat(obj.value).join(', ')}) );

DEMO

let array = [  
  { "name": "aaa", "value": "bbb" },
  { "name": "ccc", "value": "ccc" },
  { "name": "ddd", "value": [ 'ee', 'ff', 'gg' ] }
]

let newArray = array.map( obj => ({...obj, value : [].concat(obj.value).join(', ')}) );

console.log( newArray )

  • Related