如何在javascript中将数组转换为特定对象?

问题描述 投票:-2回答:5

我想转换这个数组:

Array = [
  0: 0
  1: 25
  2: 50
  3: 75
  4: 100
]

进入这个对象:

let disabilityOptions = [
    { key: 0, text: '0%', value: 0 },
    { key: 1, text: '25%', value: 25 },
    { key: 2, text: '50%', value: 50 },
    { key: 3, text: '75%', value: 75 },
    { key: 4, text: '100%', value: 100 },
  ] 

我没有成功在lodash中为这个转换案例找到一些函数。

欢迎任何建议或提示。

javascript
5个回答
1
投票

你可以使用map方法做到这一点。

const data = [0 ,25 ,50 ,75 ,100]
const result = data.map((value, key) => ({value, key, text: `${value}%`}))
console.log(result)

2
投票
var arr=[
  0,25,50,75,100
];
/*0: 0
  1: 25
  2: 50
  3: 75
  4: 100*/
var disabilityOptions=[];

arr.forEach((key,val)=>{
    disabilityOptions.push({key: key, text: val+'%', value: val });
})

1
投票

您可以使用Array.map()

var Array = [0, 25, 50, 75, 100];
var disabilityOptions = Array.map(function(item, index){
  return { key: index, text: item + '%', value: item };
});
console.log(disabilityOptions);

1
投票

简单,使用阵列图:

let origin = [0,25,50,75,100];

origin = origin.map(
  (value, key) => ({
    text: `${value}%`,
    value,
    key
  })
);

0
投票

您可以使用map函数遍历数组并使用已修改的项创建新数组。

var oldArray = [ 0, 25, 50, 75, 100];
var newArray = oldArray.map(function(item, index){
    return {key:index, value: item, text:item+'%'}
})
© www.soinside.com 2019 - 2024. All rights reserved.