代码之家  ›  专栏  ›  技术社区  ›  James Delaney

如何在javascript中将数组转换成speci对象?

  •  -2
  • James Delaney  · 技术社区  · 7 年前

    我要转换此数组:

    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中为这个convert案例找到一些函数。

    欢迎提供任何建议或提示。

    5 回复  |  直到 7 年前
        1
  •  1
  •   Nenad Vracar    7 年前

    你可以用 map

    const data = [0 ,25 ,50 ,75 ,100]
    const result = data.map((value, key) => ({value, key, text: `${value}%`}))
    console.log(result)
        2
  •  2
  •   Bhaskar Choudhary    7 年前
    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 });
    })
    
        3
  •  1
  •   Ankit Agarwal    7 年前

    你可以用 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);
        4
  •  1
  •   user9976912 user9976912    7 年前

    简单易用的数组映射:

    let origin = [0,25,50,75,100];
    
    origin = origin.map(
      (value, key) => ({
        text: `${value}%`,
        value,
        key
      })
    );
    
        5
  •  0
  •   Mako    7 年前

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

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