条件に一致する配列内のオブジェクトのインデックスを取得します

amp:

私はこのような配列を持っています:

[{prop1:"abc",prop2:"qwe"},{prop1:"bnmb",prop2:"yutu"},{prop1:"zxvz",prop2:"qwrq"},...]

配列全体を反復処理せずに、条件に一致するオブジェクトのインデックスを取得するにはどうすればよいですか?

たとえば、与えられたprop2=="yutu"、私はインデックスを取得したいと思います1

私は見ました.indexOf()が、のような単純な配列に使用されていると思います["a1","a2",...]私もチェックしました$.grep()が、これはインデックスではなくオブジェクトを返します。

georg:

2016年現在、これにはArray.findIndex(ES2015 / ES6標準)を使用することになっています

a = [
  {prop1:"abc",prop2:"qwe"},
  {prop1:"bnmb",prop2:"yutu"},
  {prop1:"zxvz",prop2:"qwrq"}];
    
index = a.findIndex(x => x.prop2 ==="yutu");

console.log(index);

Google Chrome、Firefox、Edgeでサポートされています。Internet Explorerの場合、リンクされたページにポリフィルがあります。

パフォーマンスノート

関数呼び出しは負荷が高いため、非常に大きな配列を使用すると、単純なループのパフォーマンスが次のように向上しますfindIndex

let test = [];

for (let i = 0; i < 1e6; i++)
    test.push({prop: i});


let search = test.length - 1;
let count = 100;

console.time('findIndex/predefined function');
    let fn = obj => obj.prop === search;

    for (let i = 0; i < count; i++)
        test.findIndex(fn);
console.timeEnd('findIndex/predefined function');


console.time('findIndex/dynamic function');
    for (let i = 0; i < count; i++)
        test.findIndex(obj => obj.prop === search);
console.timeEnd('findIndex/dynamic function');


console.time('loop');
    for (let i = 0; i < count; i++) {
        for (let index = 0; index < test.length; index++) {
            if (test[index].prop === search) {
                break;
            }
        }
    }
console.timeEnd('loop');

ほとんどの最適化と同様に、これは慎重に、実際に必要な場合にのみ適用する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ネストされたオブジェクトの条件に一致するオブジェクトの配列を取得します

分類Dev

特定の条件に一致するプロパティ値を持つ配列内のオブジェクトのインデックスを取得するにはどうすればよいですか?

分類Dev

javascriptのオブジェクトの2つの配列間で一致した要素のインデックスを取得します

分類Dev

javascriptのオブジェクトの2つの配列間で一致した要素のインデックスを取得します

分類Dev

配列の条件に一致する最後の値のインデックスを取得します

分類Dev

配列の値に一致するjsの配列のオブジェクトのインデックスを見つける

分類Dev

配列内の一致する属性を持つオブジェクトを取得します-Elasticsearch

分類Dev

json配列内のすべてのオブジェクトのインデックスを取得します

分類Dev

JSを使用して配列内のオブジェクトのインデックスを取得します

分類Dev

オブジェクト配列を、プライマリオブジェクトのルート内にネストされた一致するセカンダリオブジェクトとマージします

分類Dev

JavaScriptのJSONオブジェクト内の配列のインデックスを取得しています

分類Dev

配列内のオブジェクトのインデックスを取得し、関数で使用します

分類Dev

JSONサブオブジェクトの配列と、配列内で一致するものを探す角度のある方法を取得します。

分類Dev

3つの配列のインデックスが一致するかどうかを確認するforループ、一致する場合は、異なるオブジェクトを作成します

分類Dev

jsonオブジェクトから一致した要素のインデックスを取得するにはどうすればよいですか?

分類Dev

ネストされたオブジェクト配列内の親オブジェクトのインデックスを取得します

分類Dev

配列の配列内のIDでオブジェクトのインデックスを検索します

分類Dev

jqを使用して、配列内のオブジェクトの配列インデックスをオブジェクトに挿入する方法

分類Dev

既存の配列内の一致するキーを持つオブジェクトを分割します

分類Dev

条件に一致する配列内のすべてのオブジェクトをカウントするにはどうすればよいですか?

分類Dev

オブジェクトの配列から一致するオブジェクトを返します

分類Dev

一致応答[*]で見つかった配列内のオブジェクトのインデックス

分類Dev

MongoDBのオブジェクト配列内の複数のフィールドに一致するドキュメントを検索します

分類Dev

オブジェクトの配列内のインデックスを特定のHTMLdivに比較的リンクする

分類Dev

角度を使用して配列内のオブジェクトのインデックスを取得するにはどうすればよいですか?

分類Dev

Kotlin-配列内の一致するオブジェクトを検索します

分類Dev

プロパティが一致する場合、配列内のオブジェクトを返します

分類Dev

オブジェクトの配列内のobjectIdに一致するドキュメント全体を削除します-MongoDB

分類Dev

オブジェクトの配列を別のオブジェクトの配列に対してフィルタリングします。オブジェクトの別の配列内の項目と一致する配列値を持つ項目を削除します

Related 関連記事

  1. 1

    ネストされたオブジェクトの条件に一致するオブジェクトの配列を取得します

  2. 2

    特定の条件に一致するプロパティ値を持つ配列内のオブジェクトのインデックスを取得するにはどうすればよいですか?

  3. 3

    javascriptのオブジェクトの2つの配列間で一致した要素のインデックスを取得します

  4. 4

    javascriptのオブジェクトの2つの配列間で一致した要素のインデックスを取得します

  5. 5

    配列の条件に一致する最後の値のインデックスを取得します

  6. 6

    配列の値に一致するjsの配列のオブジェクトのインデックスを見つける

  7. 7

    配列内の一致する属性を持つオブジェクトを取得します-Elasticsearch

  8. 8

    json配列内のすべてのオブジェクトのインデックスを取得します

  9. 9

    JSを使用して配列内のオブジェクトのインデックスを取得します

  10. 10

    オブジェクト配列を、プライマリオブジェクトのルート内にネストされた一致するセカンダリオブジェクトとマージします

  11. 11

    JavaScriptのJSONオブジェクト内の配列のインデックスを取得しています

  12. 12

    配列内のオブジェクトのインデックスを取得し、関数で使用します

  13. 13

    JSONサブオブジェクトの配列と、配列内で一致するものを探す角度のある方法を取得します。

  14. 14

    3つの配列のインデックスが一致するかどうかを確認するforループ、一致する場合は、異なるオブジェクトを作成します

  15. 15

    jsonオブジェクトから一致した要素のインデックスを取得するにはどうすればよいですか?

  16. 16

    ネストされたオブジェクト配列内の親オブジェクトのインデックスを取得します

  17. 17

    配列の配列内のIDでオブジェクトのインデックスを検索します

  18. 18

    jqを使用して、配列内のオブジェクトの配列インデックスをオブジェクトに挿入する方法

  19. 19

    既存の配列内の一致するキーを持つオブジェクトを分割します

  20. 20

    条件に一致する配列内のすべてのオブジェクトをカウントするにはどうすればよいですか?

  21. 21

    オブジェクトの配列から一致するオブジェクトを返します

  22. 22

    一致応答[*]で見つかった配列内のオブジェクトのインデックス

  23. 23

    MongoDBのオブジェクト配列内の複数のフィールドに一致するドキュメントを検索します

  24. 24

    オブジェクトの配列内のインデックスを特定のHTMLdivに比較的リンクする

  25. 25

    角度を使用して配列内のオブジェクトのインデックスを取得するにはどうすればよいですか?

  26. 26

    Kotlin-配列内の一致するオブジェクトを検索します

  27. 27

    プロパティが一致する場合、配列内のオブジェクトを返します

  28. 28

    オブジェクトの配列内のobjectIdに一致するドキュメント全体を削除します-MongoDB

  29. 29

    オブジェクトの配列を別のオブジェクトの配列に対してフィルタリングします。オブジェクトの別の配列内の項目と一致する配列値を持つ項目を削除します

ホットタグ

アーカイブ