配列を並べ替えて、配列の最初に特定のアイテムを含める-JavaScript
このようなオブジェクトの配列があるとします-
const arr = [
{flag: true, other: 1},
{flag: true, other: 2},
{flag: false, other: 3},
{flag: true, other: 4},
{flag: true, other: 5},
{flag: true, other: 6},
{flag: false, other: 7}
]; このような配列を1つ取り込んで、次の条件に基づいて並べ替えるJavaScript関数を作成する必要があります-
- arr.flag ===falseの場合、一致する要素は配列の最初に配置されますが、前の一致する要素の後にのみ配置されます。
- 一致しない要素は、元の順序と同じままです。
- 出現順序は重要です。
したがって、上記の配列の場合、出力は-
になります。const output = [
{flag: false, other: 3},
{flag: false, other: 7},
{flag: true, other: 1},
{flag: true, other: 2},
{flag: true, other: 4},
{flag: true, other: 5},
{flag: true, other: 6}
]; 例
以下はコードです-
const arr = [
{flag: true, other: 1},
{flag: true, other: 2},
{flag: false, other: 3},
{flag: true, other: 4},
{flag: true, other: 5},
{flag: true, other: 6},
{flag: false, other: 7}
];
const sortByFlag = arr => {
const sorter = (a, b) => {
if(!a['flag'] && b['flag']){
return -1;
};
if(a['flag'] && !b['flag']){
return 1;
}
return a['other'] - b['other'];
}
arr.sort(sorter);
};
sortByFlag(arr);
console.log(arr); 出力
これにより、コンソールに次の出力が生成されます-
[
{ flag: false, other: 3 },
{ flag: false, other: 7 },
{ flag: true, other: 1 },
{ flag: true, other: 2 },
{ flag: true, other: 4 },
{ flag: true, other: 5 },
{ flag: true, other: 6 }
] -
JavaScriptで配列の最初のn個の値を取得するにはどうすればよいですか?
配列の最初のn個の要素を取得するには、多くの論理メソッドを使用できますが、 underscore.js javascriptのライブラリは、 _.first()と呼ばれる関数を提供しています javascriptの最初のn個の要素を取得します。これは、配列を処理するために広く使用されている方法です。 構文 _.first(array,n); パラメータとして配列と数値を取ります。最初のn個の要素の数を出力として表示するために、パラメーターとして数値を取ります。 例-1 次の例では、配列のみが引数として渡されるため、最初の要素、つまりゼロ番目のみが渡されます。 インデックス値が出力として表
-
JavaScriptのArray.prototype.sort()。
JavaScript Array.prototype.sort()メソッドは、配列の並べ替えに使用されます。並べ替えの順序は、アルファベット、数字、昇順、降順のいずれかです。 以下は、Array.prototype.sort()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-