【问题标题】:Add same value in multiple arrays在多个数组中添加相同的值
【发布时间】:2018-06-07 13:39:15
【问题描述】:

我需要将相同的值推送到数组数组中。

values.map(function(){
   for (i=0; i<= values.length; i++){
      values[i].push('AdWords');
   } 
});

问题是只在 1 个数组中推送 2 次相同的值

[
 [
  "2018-06-06",
  "Services",
  "65",
  "1",
  "4690000",
  "4690000",
  "1.54%",
  "AdWords",
  "AdWords"
 ],
 [
  "2018-06-06",
  "Services",
  "65",
  "1",
  "4690000",
  "4690000",
  "1.54%"     
 ]
]

【问题讨论】:

  • 你想在每个数组的末尾推送AdWords一次还是多次?

标签: javascript arrays dictionary push


【解决方案1】:

如果您尝试更改数组,则应使用forEach 而不是map

let values = [
  ["2018-06-06","Services","65","1","4690000","4690000","1.54%",],
  ["2018-06-06","Services","65","1","4690000","4690000","1.54%"]
];

values.forEach(function(o) {
  o.push('AdWords');
});

console.log(values);

【讨论】:

    【解决方案2】:

    这对我有用

    for (i=0; i< values.length; i++){
      values[i].push('AdWords');
    } 
    

    【讨论】:

      【解决方案3】:

      您可以使用简单的for loop 进行此操作。

      工作示例:

      /* VALUES ARRAY */
      
      var values = [
        [
        "2018-06-06",
        "Services",
        "65",
        "1",
        "4690000",
        "4690000",
        "1.54%"
       ],
      
       [
        "2018-06-06",
        "Services",
        "65",
        "1",
        "4690000",
        "4690000",
        "1.54%"     
       ]
      ];
      
      
      
      /* OPERATION */
      
      for (let i = 0; i < values.length; i++) {
      
          values[i].push('AdWords');
      };
      
      
      
      /* RESULT */
      
      console.log(values);

      注意注意使用let来声明循环迭代器变量i

      let 允许您声明范围受限的变量 使用它的块、语句或表达式。

      来源: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/let

      【讨论】:

        【解决方案4】:

        如果你可以使用 ES6,你可以使用for...of 语句

        var values = [
          [
            "2018-06-06",
            "Services",
            "65",
            "1",
            "4690000",
            "4690000",
            "1.54%"
          ],
          [
            "2018-06-06",
            "Services",
            "65",
            "1",
            "4690000",
            "4690000",
            "1.54%"
          ]
        ];
        
        
        for (let val of values) {
          val.push('AdWords');
        };
        
        console.log(values);

        【讨论】:

          猜你喜欢
          • 2014-07-17
          • 1970-01-01
          • 2016-06-30
          • 1970-01-01
          • 2016-06-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-02
          相关资源
          最近更新 更多