使用Javascript合并数组中的对象

时间:2016-07-16 14:43:44

标签: javascript merge javascript-objects

第一篇文章,新编程,很高兴学习!

问题: 如何将所有对象(字符串)合并为一个数组?

EX:

var myStrings = ["How", "", "do", "", "I", "", "merge", "", "these?"]

Desired result = ["How do I merge these?"]

我的研究: 我试过了.join(''),但这给了:

Not desired result = How,,do,,I,,merge,,these?

感谢您帮助新手!

4 个答案:

答案 0 :(得分:2)

您可以使用Array#filter过滤truthy值(例如非空字符串)

value    Boolean
'abc' -> true
''    -> false

' '的加入。然后将其作为新数组的元素。



var myStrings = ["How", "", "do", "", "I", "", "merge", "", "these?"],
    result = [myStrings.filter(function (a) { return a; }).join(' ')];

console.log(result);




答案 1 :(得分:1)

你可以通过,

来做到
Future.sequence(....).onComplete{_ => executionContext.shutdownNow()}

如上所述,尝试按单个空格apicall = HTTParty.get(URI.encode('URL HERE'), headers: {"Authorization" => "Bearer apikey"}).parsed_response 数组。并用一个替换双空格。必须这样做,因为你的数组中有空字符串。

答案 2 :(得分:0)

var myStrings = ["How", "", "do", "", "I", "", "merge", "", "these?"]

myStrings.join('').split(',,').join(' ');

答案 3 :(得分:0)

您可以使用.forEach()迭代数组,如果item不是空字符串连接项到新字符串,则将空格字符" "连接到新字符串。

var res = [""];
myStrings.forEach(function(str) {res[0] += str !== "" ? str : " ";});