2017-04-22 69 views
0

爲什麼是firstHalf.indexOf(secondHalfArr[i])0爲什麼indexOf(char)值爲0?

"use strict"; 
 
let word = "9999999999", 
 
    len = word.length, 
 
    oddSecondHalfStarter = (len % 2 == 0) ? len/2 : 1 + len/2, 
 
    firstHalf = word.substr(0, len/2), 
 
    secondHalf = word.substr(oddSecondHalfStarter, len), 
 
    firstHalfArr = word.substr(0, len/2).split(''), 
 
    secondHalfArr = word.substr(oddSecondHalfStarter, len).split(''), 
 
    firstHalfLength = firstHalf.length, 
 
    secondHalfLength = secondHalf.length, 
 
    charsToReplace = 0; 
 

 
for (let i = 0; i < firstHalfLength; i++) { 
 
    if (firstHalf.indexOf(secondHalfArr[i]) < 1) { 
 
    charsToReplace++; 
 
    } 
 
} 
 

 
for (let i = 0; i < secondHalfLength; i++) { 
 
    if (secondHalf.indexOf(firstHalfArr[i]) < 1) { 
 
    charsToReplace++; 
 
    } 
 
} 
 

 
alert(charsToReplace);

+9

它的'-1'如果該值不存在,'0'意味着它在第一字符找到。 –

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf – mplungjan

回答

1

indexOf()方法返回在字符串中指定的值的第一次出現的位置。

此方法返回-1如果搜索的值永遠不會發生。 indexOf()方法區分大小寫。


請務必在您的陳述中使用!== -1以獲得有效結果。

實施例:

for (let i = 0; i < secondHalfLength; i++) { 
    if (secondHalf.indexOf(firstHalfArr[i]) !== -1) { 
    charsToReplace++; 
    } 
}