配列を並べ替えて、配列の最初に特定のアイテムを含める-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-