スプライスの理解に問題があり、助けが必要です。
jsfiddleを確認してください。
http://jsfiddle.net/fantill/TbpWf/1/
value = "c, a, b"
value = value.split(',').splice(1, 1).join(',')
alert(value);
値はreturnを持っていると想定されています'c, b'。
ただし、'a';を返します。
この方法の何が問題になっていますか?
どうもありがとうございます。
スプライスの理解に問題があり、助けが必要です。
jsfiddleを確認してください。
http://jsfiddle.net/fantill/TbpWf/1/
value = "c, a, b"
value = value.split(',').splice(1, 1).join(',')
alert(value);
値はreturnを持っていると想定されています'c, b'。
ただし、'a';を返します。
この方法の何が問題になっていますか?
どうもありがとうございます。
.splice 削除されたアイテムを返します。ただし、内部で配列を操作することもできます。これにより、何かをチェーンすることができなくなります.splice。2 つの別々の呼び出しを行う必要があります。
value = value.split(',');
value.splice(1, 1);
console.log(value.join(','));
を行うvalue = value.splice(...)と、valueオーバーライドされ、配列が失われます!
.spliceはインプレースであるため、を削除するだけで、value =期待どおりに配列が変更されます。
> var value = "c, a, b";
> value = value.split(', ');
["c", "a", "b"]
> value.splice(1, 1);
["a"]
> value
["c", "b"]