使用Javascript合并数组中的对象
第一篇帖子,编程新手,学习很兴奋 问题是: 如何将所有对象(字符串)合并到单个数组中 例: 我的研究: 我已经尝试了使用Javascript合并数组中的对象,javascript,merge,javascript-objects,Javascript,Merge,Javascript Objects,第一篇帖子,编程新手,学习很兴奋 问题是: 如何将所有对象(字符串)合并到单个数组中 例: 我的研究: 我已经尝试了.join(“”),但它给出了: Not desired result = How,,do,,I,,merge,,these? 谢谢你帮助一个新手 你可以通过 var myStrings = ["How", "", "do", "", "I", "", "merge", "", "these?"]; var result = [myStrings.join(" ").replac
.join(“”)
,但它给出了:
Not desired result = How,,do,,I,,merge,,these?
谢谢你帮助一个新手 你可以通过
var myStrings = ["How", "", "do", "", "I", "", "merge", "", "these?"];
var result = [myStrings.join(" ").replace(/\s\s/g, " ")];
console.log(result); // ["How do I merge these?"]
尝试通过一个空格连接
数组,如上所述。并将双空格替换为单空格。由于数组中有空字符串,因此必须执行此操作。您可以使用筛选truthy值(如非空字符串)
以及使用'
的连接。然后将其作为新数组的元素
var myStrings=[“如何”、“做”、“我”、“合并”、“这些?”],
result=[myStrings.filter(函数(a){returna;}).join('');
控制台日志(结果)
您可以使用.forEach()
迭代数组,如果项不是空字符串,则将项连接到新字符串,否则将空格字符连接到新字符串
var res = [""];
myStrings.forEach(function(str) {res[0] += str !== "" ? str : " ";});
在数组中合并对象
FYI,它们被称为字符串
而不是对象
。下面没有答案可以解释myStrings.reduce(函数(a,x){return(a+“”+x).trim();},“”
可能值得解释的是”
强制执行false
。
value Boolean
'abc' -> true
'' -> false
var myStrings = ["How", "", "do", "", "I", "", "merge", "", "these?"]
myStrings.join('').split(',,').join(' ');
var res = [""];
myStrings.forEach(function(str) {res[0] += str !== "" ? str : " ";});