【问题标题】:Create new array, after comparing chars of string & array在比较字符串和数组的字符后创建新数组
【发布时间】:2012-03-22 16:09:28
【问题描述】:

我有一个myArray = [A,C,D,G,J,L,P]

还有一个myString = "ABCDEF"

我想创建一个新数组,只包含 myString 中的字符,也可以在 myArray 中找到,这样myOtherArray = [A,C,D]

我认为代码应该看起来像这样,但它还没有工作。

for (int i=0; i<myString.length(); i++) {
  for (int j=0; j<myArray.length(); j++) {
    if ((myString.charAt(i)) == myArray[j]) {
      myOtherArray.push(myArray[j])
    }
  }
}

【问题讨论】:

    标签: javascript arrays string variables push


    【解决方案1】:

    如果你尝试在浏览器的控制台中运行它(或者只是检查错误日志),你会发现int i=0 是错误的,length 不是一个函数。将int 替换为var(两者),将length() 替换为length(两者),这样就可以了。

    【讨论】:

    • 非常感谢!如何检查错误日志?我在记事本上写,在 chrome 中运行。
    【解决方案2】:

    您应该使用== 来测试是否相等。

    if ((myString.charAt(i)) == myArray[j])
    

    此外,可能值得在推送信函后添加break 声明。这使得整个操作更快(尽管如果数组很小,则进行微优化),并且如果myArray 包含重复条目,它还可以防止相同的字母被推送两次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多