JavaScript でオブジェクトのプロパティからインデックスを取得するにはどうすればいいですか? 質問する

JavaScript でオブジェクトのプロパティからインデックスを取得するにはどうすればいいですか? 質問する

たとえば、次のようなものがあります:

var Data = [
  { id_list: 1, name: 'Nick', token: '312312' },
  { id_list: 2, name: 'John', token: '123123' },
]

次に、このオブジェクトを、たとえば でソート/反転しますname。すると、次のような結果が返されます。

var Data = [
  { id_list: 2, name: 'John', token: '123123' },
  { id_list: 1, name: 'Nick', token: '312312' },
]

name='John'そして、プロパティ トークンの値を取得するために、プロパティを持つオブジェクトのインデックスを知りたいのです。

どうすれば問題を解決できますか?

ベストアンサー1

ソート部分はすでに答えられているので、配列内のプロパティのインデックスを取得する別のエレガントな方法を提案します。

例は次のとおりです:

var Data = [
    {id_list:1, name:'Nick', token:'312312'},
    {id_list:2, name:'John', token:'123123'}
]

できるよ:

var index = Data.map(function(e) { return e.name; }).indexOf('Nick');

var Data = [{
    id_list: 1,
    name: 'Nick',
    token: '312312'
  },
  {
    id_list: 2,
    name: 'John',
    token: '123123'
  }
]
var index = Data.map(function(e) {
  return e.name;
}).indexOf('Nick');
console.log(index)

Array.prototype.mapは利用できませんインターネットエクスプローラー7または Internet Explorer 8。ES5 互換性

ES6 と矢印構文を使用すると、さらに簡単になります。

const index = Data.map(e => e.name).indexOf('Nick');

おすすめ記事