如何在Javascript中将带空格的字符串数组转换为单个数组列表?
我有一个数组,如下所示如何在Javascript中将带空格的字符串数组转换为单个数组列表?,javascript,arrays,Javascript,Arrays,我有一个数组,如下所示 var arr = ["john doe first", "robert way", "jason doe", "alex"]; 现在我想转换这个数组,如下所示 var result = ["john", "doe", "first", "robert", "way", "jason", "doe", "alex"]; 快速解释是我需要将字符串的每个数组元素转换为数组并将其重置为数组。数组索引并不重要。 我尝试了arr.split(“”)甚至arr.toString
var arr = ["john doe first", "robert way", "jason doe", "alex"];
现在我想转换这个数组,如下所示
var result = ["john", "doe", "first", "robert", "way", "jason",
"doe", "alex"];
快速解释是我需要将字符串的每个数组元素转换为数组并将其重置为数组。数组索引并不重要。
我尝试了arr.split(“”)甚至arr.toString(),然后尝试了arr.split(“”)。我不知道我在这里遗漏了什么。使用
reduce
、concat
和split
arr.reduce( (a , c) => a.concat(c.split(/\s+/)), [])
演示
var输出=[“约翰·多伊优先”,“罗伯特·韦”,“杰森·多伊”,“亚历克斯”]。减少((a,c)=>a.concat(c.split(/\s+/),[]);
控制台日志(输出)
您可以使用concat
方法和扩展语法..
添加到新数组,并使用map
和split
方法在空白处拆分每个元素
var arr=[“约翰·多伊优先”、“罗伯特·韦”、“杰森·多伊”、“亚历克斯”];
var结果=[].concat(…arr.map(e=>e.split(“”));
console.log(结果)
您只需使用和:
var arr=[“约翰·多伊优先”、“罗伯特·韦”、“杰森·多伊”、“亚历克斯”];
控制台日志(arr.join(“”).split(“”))代码>您可以在forEach
循环中使用spread
运算符:
var arr=[“约翰·多伊优先”、“罗伯特·韦”、“杰森·多伊”、“亚历克斯”];
var-res=[];
arr.forEach((项目)=>{
var tempArray=item.split(“”);
res.push(…临时数组);
});
控制台日志(res)代码>使用以下命令:
var arr=[“约翰·多伊优先”、“罗伯特·韦”、“杰森·多伊”、“亚历克斯”];
var finalArray=[]
对于(变量i=0;i
var arr=[“约翰·多伊优先”、“罗伯特·韦”、“杰森·多伊”、“亚历克斯”];
函数formatArray(数组){
var newArr=[];
array.forEach(函数(项){
item.split(“”).forEach(函数(ItemSplited){
新建推送(项目拆分);
});
});
返回newArr;
}
log(formatArray(arr))代码>
const arr=[“约翰·多伊优先”、“罗伯特·韦”、“杰森·多伊”、“亚历克斯”];
让结果=[]
arr.map((e)=>{
result=result.concat(例如,拆分(/[,]+/))
})
控制台日志(结果)代码>你能分享代码吗?太好了。谢谢。如果数组(出于某种原因)同时包含2个空格,则此操作无效。@CristianS。我添加了一个修复。谢谢克里斯蒂安S.指出。@parth我已经修复了它。
var arr = ["john dvoe first", "robert way", "jason doe", "alex"];
var arr2= arr.map(function(item){return item.split(" ")});
var result=[].concat.apply([],arr2);