2つの文字列/配列があります。違いがわかりにくいと思います。しかし、逸脱するには時期尚早です。
文字列1は、引数のためにコンマで区切られた文字列です。文字列2もそうです。文字列2には、文字列1にあるすべての値ではなく、一部の値が含まれています。
私がやろうとしているのは、文字列2にある文字列1から値を引くことです。
SAとその他のgoogledomの両方で、この質問と回答のバリエーションがたくさんあります。しかし、私には何もうまくいきませんでした。エラーが発生するたびに。
以下のコードは、私が取得した最も近いコードですが、何らかの理由で、コンソールでは、文字列1の最初の部分のみがカウントされ、それ以降の部分はカウントされません。これは、文字列/配列の取り違えが発生する場所である可能性があります。与えられた例は、 SAで完全に機能します。例へのリンク
使用されるコードは次のとおりです。
var defendantList = 5545,
goo,
holly1;
var dismissedDefendants = holly1;
for (var i in defendantList) {
for (var j in dismissedDefendants) {
if (defendantList[i].value === dismissedDefendants[j].value) {
var index = defendantList.indexOf(defendantList[i]);
if (index > -1) {
defendantList.splice(index, 1);
}
}
}
}
console.log(defendantList);
コンソールログは5545を返すだけです。
それで、両方(文字列?)がコンマで区切られているときにこれを行うことは可能ですか?
あなたの仕事はもっと簡単な方法で行うことができます、以下を見てください:
var defendants = ["5545", "goo", "holly1", "cat", "dog"],
dismissedDefendants = ["holly1", "holly2", "dog"];
// remove all elements of dismissedDefendants from defendants
var leftOverDefendants=defendants.filter(d=>dismissedDefendants.indexOf(d)<0);
// this behaves nicely, even if elements of dismissedDefendants don't exist in defendants
console.log(leftOverDefendants);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加