【问题标题】:combine two string arrays in javascript [duplicate]在javascript中组合两个字符串数组[重复]
【发布时间】:2016-06-18 04:12:31
【问题描述】:

我正在寻找一种简单的方法(可以使用 jQuery)来组合两个字符串数组:

var a = ["a", "s", "d"];
var b = ["q", "w", "e"];

生产:

var c = ["a q", "s w", "d e"];

【问题讨论】:

  • 你试过什么?
  • 而你没有尝试map()
  • 数组总是等长吗?
  • var a = ["a", "s", "d","w"]; var b = ["q", "w", "e"]; var可能性1 = a.map(function(item, i) { return item + ' ' + b[i] }) alert(possibility1);变种可能性2=a.concat(b);警报(可能性2);如果有两个相同的东西,如果你想要一次使用 map,如果你想要两次而不是使用 concat

标签: javascript


【解决方案1】:

你要么使用Array.prototype.map

var a = ["a", "s", "d"];
var b = ["q", "w", "e"];

var c = a.map(function(item, i) {
  return item + ' ' + b[i]
})

Array.prototype.reduce:

var c = a.reduce(function(prev, item, i) {
  return prev.concat(item + ' ' + b[i])
}, [])

你更喜欢什么。如果你在 ES2015 友好的世界中,那么使用箭头函数会更好:

// map
var c = a.map((item, i) => item + ' ' + b[i])

// reduce
var c = a.reduce((prev, item, i) => prev.concat(item + ' ' + b[i]), [])

【讨论】:

  • a.map((e, i) => e + ' ' + b[i])
【解决方案2】:

试试这个(检查控制台中的输出):

var a = ["a", "s", "d"]; //add or remove items
var b = ["q", "w", "e"]; //add or remove items

if(a.length>b.length) {
  var biggest = a.slice();
  var smallest = b.slice();
} else {
  var biggest = b.slice();
  var smallest = a.slice();
}

var c = biggest.map(function(num, i) {
  if(i < smallest.length) return num + " " + smallest[i];
  return num;
});

console.log(c);

//CHECK OUTPUT IN CONSOLE

这允许数组大小不同,但仍然产生相同的结果。否则只需映射ab 为条件

这是Live Demo

【讨论】:

    【解决方案3】:

    如果a and b 的数组长度相等,那么你可以试试这个。

    var a = ["a", "s", "d"];
    var b = ["q", "w", "e"];
    var c = [];
    for (var i=0;i<a.length; i++) {
        val = a[i] + " " + b[i];
        c.push(val)
    }
    console.log(c)
    

    【讨论】:

      【解决方案4】:
      a.map((e, i) => e + ' ' + b[i])
      

      Tushar 做对了,而且可能是最好和最有效的方法

      【讨论】:

        猜你喜欢
        • 2017-09-10
        • 1970-01-01
        • 2015-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-28
        • 2014-07-06
        相关资源
        最近更新 更多