【问题标题】:Convert Array string elements into array将 Array 字符串元素转换为数组
【发布时间】:2018-07-04 06:08:43
【问题描述】:

我有一个这样的数组:

var sliceDATA = ["7 FIXED BUT FX KFY 200",
                 "9 FIXED BUT FZ MX KFY 150 KMZ 200"];

我想把它转换成这样的:

[[,7,FIXED,BUT,FX,KFY,200], [9,FIXED,BUT,FZ,MX,KFY,150,KMZ,200]]; 

【问题讨论】:

  • I'd like to 您是否尝试过完成您想要实现的目标?发布您尝试过的代码,并解释输出与输入的关系
  • 长答案短 - 遍历数组,使用空格分割并创建一个数组并推送值最终创建一个新数组并将单个值数组推送到新数组中。
  • 为什么结果的第一个元素以逗号开头,而第二个元素不是?
  • 您的结果数组不包含字符串。 FIXED、BUT 等不是数组中的有效元素,除非存在以这些名称命名的实际变量。

标签: javascript arrays object indexing


【解决方案1】:

怎么样

var result = sliceDATA.map(elm => elm.split(' '));
console.log(result);

Array.map 将对数组的每个元素应用匿名回调函数。

结果将是:

[
  ["7", "FIXED", "BUT", "FX", "KFY", "200"], 
  ["9", "FIXED", "BUT", "FZ", "MX", "KFY", "150", "KMZ", "200"]
]

【讨论】:

  • 这不会返回 OP 的要求。 (尽管他没有解释前导空元素的用途)
  • @CertainPerformance 实际上确实如此,但我错过了从控制台复制的输出。
  • @CertainPerformance 你是对的,但仍不清楚 OP 是否打错了。
【解决方案2】:

你可以试试这个

const newArr = sliceDATA.map((currVal) => {
  let newVal = currVal.split(' ');
  return newVal;
});

【讨论】:

  • 不需要使用匿名函数和局部变量,直接返回拆分表达式即可。
  • 是的,我从你上面的回答中注意到了。谢谢
【解决方案3】:

您可以使用循环并使用拆分空格,它将返回一个元素数组。

参考:https://www.w3schools.com/jsref/jsref_split.asp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-21
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多