0

プロパティの値を取得する必要があるオブジェクトの配列を含むオブジェクトがあります。

例として、これは私が取得する必要があるものです:

Stronghold.bins.models[0].attributes.entity.title

「要塞の称号 1」を返します

function grabItemName(){
   var itemName=$(Stronghold.bins).each(function(){
      return this.models[0].attributes.entity.title == title;
      console.log(itemName);
   })
};

(この質問をするためのより良い方法があれば教えてください)

聞き方が悪かったらすいません!

現在の問題は、配列値 '[0]' を認識せず、未定義であるため読み取ることができないことです。配列内のすべてのアイテムの「タイトル」値を取得するにはどうすればよいですか?

4

2 に答える 2

2

配列内のすべてのアイテムの「タイトル」値を取得するにはどうすればよいですか?

それが.map [docs]の目的です。配列内の各値を別の値にマップできます。

Stronghold.bins.models以下では、提供された情報では反復Stronghold.binsが意味をなさないため、 each を反復処理することを想定しています。

var titles = $.map(Stronghold.bins.models, function(obj) {
    return obj.attributes.entity.title;
});
// `titles` is now an array containing `.attributes.entity.title;` of
// each object.

現在の問題は、配列値 '[0]' を認識せず、未定義であるため読み取ることができないことです。

まあ、それはもう起こりません;)あなたの例では、Stronghold.binsオブジェクトのプロパティを反復処理しています。これらのプロパティの 1 つはmodelsそれ自体 (!) であり、他のプロパティ値にプロパティがあるとは思えませんmodels

于 2013-02-20T18:16:50.300 に答える
-1

each 関数の他のバージョンを使用してみてください。

$.each(Stronghold.bins, function () {

});

使用しているバージョンは、ページ上の要素をループするためのものです。たとえば$('body div p').each(function() {})、これはこのインスタンスで必要なものではありません: に含まれる値をループしたいですStronghold.bins

于 2013-02-20T18:13:10.957 に答える