将字符串数组拆分为两个数组,每个数组包含原始字符串的一部分
Split an array of strings into two arrays, each with a part of the original string
我正在处理JSON数据,我想使用的其中一项实际上是两个格式化在一起的信息,用|分隔。
这是返回的字符串示例:"Rocket | Mission"。
我已将此信息拉入每个火箭任务的数组中,因此数组中有30个项目
我有一个for循环生成这个数组:
var names = ["rocket1 | mission1", "rocket2 | mission2", ...];
我正在尝试将数组中的项分隔成:
var rocket = ["rocket1, rocket2, rocket3, ...];
var mission = ["mission1, mission2, mission3, ...];
,这样我就可以循环并分别显示每个火箭和任务。
我尝试过使用substring(indexOf(" | ") +1);
和split();
,但我一直在达到一个点,我需要一个循环内的循环内的循环。我是javascript的初学者,我不太了解语法和逻辑,无法弄清楚如何以及在哪里应用这些方法来获得我想要的。
希望这是有意义的,谢谢你的帮助!
使用split同时使用forEach
函数式方法let names = ["rocket1 | mission1", "rocket2 | mission2"]
let rocket = []
let mission = []
names.forEach(name => {
let splat = name.split(' | ')
rocket.push(splat[0])
mission.push(splat[1])
})
console.log(rocket)
console.log(mission)
您可以将map
与split
一起使用:
var names = ["rocket1 | mission1", "rocket2 | mission2"];
var rockets = names.map( name => name.split(' | ')[0] );
var missions = names.map( name => name.split(' | ')[1] );
console.log(rockets)
console.log(missions);
替代2 使用reduce
和解构在一个循环中完成任务。函数式编程顽固分子可能会喜欢这个,但是对于那些不习惯这些紧凑的reduce
结构的人来说,阅读起来比较困难。
var names = ["rocket1 | mission1", "rocket2 | mission2"];
var [rockets, missions] = names.reduce( (pairs, name, i) =>
([pairs[0][i], pairs[1][i]] = name.split(' | '), pairs)
, [[], []]);
console.log(rockets);
console.log(missions);
就像squint在评论中说的那样,你需要创建两个数组然后循环遍历原始数组,将其拆分为两个新数组
var rocket = [];
var mission = [];
for (var i = 0; i < names.length; i++) {
var temp = names[i].split(" | ");
rocket.push(temp[0]);
mission.push(temp[1]);
}
相关文章:
- 高亮显示与数组字符串一起使用时文本插件中断
- 从数组/字符串中删除所有小数和单个数字
- 使用Javascript regex替换“index”数组字符串
- 如何将复选框中的选中值收集为 javascript 数组/字符串
- 将数组数组字符串转换为 Javascript 数组数组的优雅方法
- 如何将数组字符串转换为数组
- 通过数组字符串访问JavaScript对象中的值
- Javascript数组字符串作为图像键
- Chrome和Firefox正在检索字符,而不是javascript中的数组字符串
- 如何在 JavaScript 函数中从 PHP end 传递数组字符串作为参数
- Jquery 如何检查数组字符串值是否在文本区域中
- 如何转换数组字符串
- JS数组字符串将名称修补到数组(对象)
- 在Javascript中从数组字符串中查找单个或多个值
- 如何将java数组字符串分配给javascript数组字符串
- 如何在javascript中将子数组字符串的数组转换为子数组的数组?
- 如何将字符串中的特殊值放入数组字符串
- 如何在JavaScript中给出RouteUrl中的数组字符串
- 在javascript的for循环中设置数组's字符串元素的长度为一个变量
- 如何从“数组字符串”中获取键值在javascript