我有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])
}
}
}
答案 0 :(得分:2)
如果您尝试在浏览器的控制台中运行它(或只是检查错误日志),您会发现int i=0
错误且length
不是函数。将int
替换为var
(两者),将length()
替换为length
(两者),并且有效。
答案 1 :(得分:1)
您应该使用==
来测试是否相等。
if ((myString.charAt(i)) == myArray[j])
此外,推送信后可能需要添加break
语句。这使得整个操作更快(尽管如果数组很小则是微优化),如果myArray
包含重复的条目,它也会阻止同一个字母被推两次。