JavaScript コードが思った結果にならない。
Q&A
JavaScript コードが思った結果にならないです。
解決したいこと
[正常な結果]
[ ]
["dog"]
["dog","cat"]
["dog"] =>catを削除したいです。
[現状の結果]
[ ]
[1]
[1,1]
[1,1,1] =>削除どころか増えてます。
数字になってしまいます。
[やったこと]
mdnのテストサイトで
splice(0,1)で削除出来そうでしたが実際は上記結果でした。
sliceやpopなども試みたのですが同様の結果です。
下記に現状のcodeをお見せするのですが
先頭の関数に戻ってくるのが原因か分からないですが
なるべく現状のプログラムを壊さないよう解決出来ないでしょうか?
順番に解かないと出来ないパターンのcodeです。
是非ともご教授お願いいたします。
[3つまで正常なcode]
①番目=>[ ]が期待値
let result = [];
function getTweet() {
}console.log(result);
// test(getTweet(), []);//=>期待値1
/////////////////////////
②番目["dog"]が期待値
function animalTweet(animal){
result.push(animal);
}
animalTweet("dog");
// getTweet(), ["dog"];//=>期待値2
////////////////////////////
③番目["dog","cat"]が期待値
function animalTweet(animal1) {
result.push(animal1);
}console.log(result);
animalTweet("cat");
console.log(result);
// getTweet(), ["dog","cat"]);//=>期待値3
/////////////////////////////////////////////////
④番目["cat"]dogを取り去ったものが期待値=>ここで行き詰まってます。
function animalTweet(animal2) {
result.splice((animal),0,1);
}
animalTweet("dog");//=>dogを削除したいです。
// getTweet(), ["cat"]);//=>期待値4
console.log(result);