2012-03-22 55 views
0

我有一個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]) 
    } 
    } 
} 

回答

2

如果您嘗試在瀏覽器的控制檯中運行它(或者只是檢查錯誤日誌),則會看到int i=0錯誤,而length不是函數。將intvar(兩者)和length()length(兩者)替換,並且它有效。

+0

非常感謝!我如何檢查錯誤日誌?我正在用記事本寫作,用鉻版運行。 – 2012-03-22 16:23:35

+0

請參閱https://code.google.com/chrome/devtools/docs/overview.html#access – Supr 2012-03-22 16:26:28

1

您應該使用==測試相等。

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

而且,它可能是值得推動的字母后加一個break聲明。這使得整個操作更快(儘管如果數組很小,則進行微優化),並且如果myArray包含重複的條目,它也可以防止相同的字母被按兩次。

+0

感謝 - 改變了,但仍然無法正常工作。 – 2012-03-22 16:13:30