代码之家  ›  专栏  ›  技术社区  ›  anaximander

更改数组的属性

  •  0
  • anaximander  · 技术社区  · 6 年前

    使用对象和数字属性填充数组。

       var fruitNames = [];
    
    
       var fruit = [{"fruit": 1},{"fruit": 0},{"fruit": 3},
                   {"fruit": 2},{"fruit": 1},{"fruit": 1},
                   {"fruit": 2},{"fruit": 2},{"fruit": 1}];
    

    fruitNames 根据 fruit

    5 回复  |  直到 6 年前
        1
  •  2
  •   Saurabh Yadav    5 年前

    var mapping = {"0": "Pear", "1": "Banana", "2":"Apple", "3":"Orange"};
    var fruit = [{"fruit": 1},{"fruit": 0},{"fruit": 3},
                   {"fruit": 2},{"fruit": 1},{"fruit": 1},
                   {"fruit": 2},{"fruit": 2},{"fruit": 1}];
                   
    var updated = fruit.map(function(name) {
     return {'fruit':mapping[name['fruit']]}; 
    });
    
    console.log(updated);
        2
  •  0
  •   NicossB    6 年前

    var fruitNames = [];
    var fruit = [
      {"fruit": 1},
      {"fruit": 0},
      {"fruit": 3},
      {"fruit": 2},
      {"fruit": 1},
      {"fruit": 1},
      {"fruit": 2},
      {"fruit": 2},
      {"fruit": 1}
     ];
    var matchingFruits = {
      0: "Pear",
      1: "Banana",
      2: "Apple",
      3: "Orange",
    }
    
    const output = fruit.map(function(e) {
      return {
        'fruit':matchingFruits[e['fruit']]
      }; 
    });
    
    console.log(output);
        3
  •  0
  •   Alex Alexiuc    6 年前
    var fruitNames = [];
    
    
    var fruit = [{"fruit": 1},{"fruit": 0},{"fruit": 3},
                {"fruit": 2},{"fruit": 1},{"fruit": 1},
                {"fruit": 2},{"fruit": 2},{"fruit": 1}];
    
    result = fruit.map(elm => {
      name = Object.keys(elm)[0];
      return { [elm[name]]: name };
    });
    console.log(result);
    
        4
  •  0
  •   ryan    6 年前
    var fruitNames = ["Pear", "Banana", "Apple", "Orange"];
    var fruit = [{"fruit": 1},{"fruit": 0},{"fruit": 3},
                 {"fruit": 2},{"fruit": 1},{"fruit": 1},
                 {"fruit": 2},{"fruit": 2},{"fruit": 1}];
    fruit.forEach(function(item) {
      item["fruit"] = fruitNames[item["fruit"]]
    });
    
        5
  •  0
  •   Илья Зелень    6 年前

    enter image description here

    基准: https://jsperf.com/change-properties-of-array/1

    var arr = ['Pear', 'Banana', 'Apple', 'Orange']
    var fruitNames = [];
    var fruit = [{"fruit": 1},{"fruit": 0},{"fruit": 3},
                   {"fruit": 2},{"fruit": 1},{"fruit": 1},
                   {"fruit": 2},{"fruit": 2},{"fruit": 1}];
                   
    for (let obj of fruit) {
      fruitNames.push(arr[obj.fruit])
    }
    
    console.log(fruitNames)

    var arr = ['Pear', 'Banana', 'Apple', 'Orange']
    var fruitNames = [];
    var fruit = [{"fruit": 1},{"fruit": 0},{"fruit": 3},
                   {"fruit": 2},{"fruit": 1},{"fruit": 1},
                   {"fruit": 2},{"fruit": 2},{"fruit": 1}];
                   
    for (let obj of fruit) {
      fruitNames.push({'fruit': arr[obj.fruit]})
    }
    
    console.log(fruitNames)