var y = [1,2,3];
(y.indexOf(1) > -1) ? console.log(true) : '';
爲什麼上面的代碼不起作用?我認爲可以在y中檢查1是一個數組嗎?indexOf在javascript中的數組方法
var y = [1,2,3];
(y.indexOf(1) > -1) ? console.log(true) : '';
爲什麼上面的代碼不起作用?我認爲可以在y中檢查1是一個數組嗎?indexOf在javascript中的數組方法
indexOf
返回數組中值的第一個匹配位置。
1
出現在位置0
。
0 > 1
是false
。
您需要測試位置是否大於-1
以查看它是否出現在數組中。
因爲寫這個答案,這個問題已被編輯使用-1
。問題中的代碼現在可以按照需要工作。
重新說明:'1'位於數組'y'的'0'位置。 – Tushar
這是因爲在JS索引從零開始。
所以1
是在第0位,2
是第一名等
indexOf
是從零開始的,數組和字符串的所有指標。如果一個項目不在數組中,則返回-1
,否則返回該項目的索引。
var y = [1, 2, 3];
console.log(y.indexOf(1) !== -1);
@Tushar,什麼......?我認爲op對'indexOf'的概念感到困惑。 –
'y.indexOf(1)'將返回'0'如'1'是在數組的第0索引處。要檢查一個元素是否在數組中,使用'array.indexOf(1)!== -1'或'array.includes(1)'來獲取最新的env。 – Tushar
現在你已經「修復」了你的問題中的代碼,你的問題到底是什麼?!? – Keiwan
你的工作是什麼意思?_。什麼是預期產出?請參閱[mcve]和[編輯]問題。 – Tushar