次のような配列があるとしましょう。
let myArray = ["A", "B", "C", "D"]
配列にmyArray
基づいて要素の順序を変更し、の要素が含まれているmodifier
場合myArray
は、modifier
その要素をの最後に送信するとどうなりますか?myArray
このような:
let modifier = ["B"]
myArray = ["A", "C", "D", "B"] // B is sent to the end of myArray
そして、これがある場合:
let modifier = ["A", "C"]
myArray = ["B", "D", "A", "C"] // A and C are sent to the end of the array
各配列要素をループして別の要素と照合してみましたが、複雑になりました...
どんな助けでも大歓迎です。
とてもシンプルです。
ステップ-1:元の配列から修飾子配列の要素を削除します
myArray = myArray.filter( (el) => !modifier.includes(el) );
ステップ-2:修飾子配列を元の配列にプッシュします
myArray = myArray.concat(modifier)
更新
高齢者によるコメントの要求に従って:)ユースケースが複数のデータを移動することである場合:
var myArray = ["A", "A", "A", "B", "B", "B", "C", "D", "E"];
var modifier = ["A", "B"];
// get static part
staticArray = myArray.filter( (el) => !modifier.includes(el) );
// get moving part
moveableArray = myArray.filter( (el) => modifier.includes(el) );
// merge both to get final array
myArray = staticArray.concat(moveableArray);
console.log(myArray);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加