javascript - javascript 将字符串数组解析为新数组

标签 javascript arrays

我想循环遍历一个字符串数组,并将这些字符串拆分为某个字符,然后将这些新字符串输入到一个数组中,例如。从第一个数组中获取字符串“val: key”,然后使用函数从数组中检索该字符串,并将其按“:”拆分为一个包含 [“val”,“key”] 的新数组。这是我到目前为止所拥有的,底部是 console.log 时返回的内容。

var dict = [];
dict.push("me; pro: myself");
dict.push("labor, laboris; n: work");
dict.push("voco, vocare, vocavi, vocatum; v: call");

function parseDict(arr){
/* parseDict takes a dictionary entry and splits it between its latin  part and its part of speech/english translation*/
  var dictFinal = [];
  arr.toString();
  for (i = 0; i < arr.length; i++){
    dictFinal[i] += arr[i].split(";");
  }
  return dictFinal;
}

console.log(parseDict(dict)) prints out 
[ 0: "undefinedme; pro: myself"
  1: "undefinedlabor, laboris; n: work"
  2: "undefinedvoco, vocare, vocavi, vocatum; v: call"
]

为什么它不在“;”上分成两个字符串,为什么它返回一个未定义的值?

最佳答案

它是未定义的,因为您正在对空数组索引执行 +=

dictFinal[i] += arr[i].split(";");
             ^^

第一遍 dictFinal[i] 未定义,因此它是

dictFinal[i] = undefined + arr[i].split(";");

你可能只是想要

dictFinal[i] = arr[i].split(";");

关于javascript - javascript 将字符串数组解析为新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29127210/

相关文章:

javascript - 重置数组并重新渲染组件

javascript - 如何用嵌套字符串分割字符串

arrays - 我不断收到索引超出范围错误,我的代码有什么问题?

javascript - 如何从 javascript 中获取 Select HTML 中正确选择的值?

javascript - 字符串转数字,包括非数字字符

javascript - 这可以重构为使用通用功能原理吗?

javascript - 是否可以使用一个变量值作为另一个变量名称的一部分?

php - 通过 HTTPRequestObject.send 函数通过 POST 发送到 php 文件的信息的位置

C 编程语言练习 1-18

Java JsonPath 数组的长度