6
既存のコードをECMAスクリプトに変換していますが、ESLintを使用してコーディング標準に従っています。私は、要素は、それが変更され、アレイにされていない押されているのでresultArray、ESLintの宣言については、次のECMAScript方法要素が配列にプッシュされても、ESLintは配列を変更しないと言います
static getArrayOfIndices(text, char) {
let resultArray = [];
let index = text.indexOf(char);
const lastIndex = text.lastIndexOf(char);
while (index <= lastIndex && index !== -1) {
resultArray.push(index);
if (index < lastIndex) {
index = text.substr(index + 1).indexOf(char) + index + 1;
} else {
index = lastIndex + 1999; // some random addition to fail test condition on next iteration
}
}
return resultArray;
}
エラー
ESLint: `resultArray` is never modified, use `const`instead. (prefer-const)
しかしをスローする必要がありますか?
しかし、同じ配列オブジェクトのままなので、そのオブジェクトへのポインタは定数です。 – Sirko
ああ!オブジェクトの内容が変更されても、そのオブジェクトへの参照/ポインタは同じままなので、constを使用することをお勧めします。参照が変更されている場合、たとえばresultArray = someOtherArray、letを使うと問題ありません。とった! – shashi