0

次のコードを使用して(または使用せずに)、プロパティがないtitle限り、すべてのアイテムのプロパティを返そうとしています。titleNaN

現在、titleプロパティを持つすべてのアイテムが返品されていることを理解しています。どちらを返すかを指定するにはどうすればよいですか?

function loadItems(id){
   itemPath = start.contains.models;
   for (var i = 0; i<itemPath.length; i++) {
      if(itemPath[i].attributes.id==id) {
         return itemPath[i].attributes.grades.models.map(function(g) {
            $('#foot').append(g.attributes.title);
         });
         }
      }
}
4

3 に答える 3

2

すべてを返すループの外側で、有効なアイテム(空の配列)を保持するコンテナーを定義します。各アイテムをループするときに、titleプロパティが含まれていて、タイトルが条件に一致する場合は、ループの外側で作成したコンテナーに現在のアイテムを追加します。必要に応じて、返品するコンテナにのみアイテムを追加してください。

すべてのループが終了したら、そのコンテナを返します。このコンテナには、タイトルを含み、チェック条件に一致するアイテムのみが含まれているはずです。

したがって、以下のように、ループ内で、タイトルisNaN()がそれを配列に追加して返す場合。

function loadItems(id){
  itemPath = start.contains.models;
  var returnMe = new Array();
  for (var i = 0; i<itemPath.length; i++) {
    if(itemPath[i].attributes.id==id) {
      itemPath[i].attributes.grades.models.map(
        function(g) {
          if(isNaN(g.attributes.title)){
            returnMe.push(g.attributes.title);
          }}
      );
    }
  }
  return returnMe;
}
于 2013-03-04T20:28:47.537 に答える
0

このようなもの??

function loadItems(id){
itemPath = start.contains.models;
for (var i = 0; i<itemPath.length; i++) {
  if(itemPath[i].attributes.id==id) {
     return itemPath[i].attributes.grades.models.map(function(g) {
      var_title = g.attributes.title;
      if(var_title=='My Title'){
        $('#foot').append(g.attributes.title);}
     });
     }
  }
}

Saludos;)

于 2013-03-04T20:30:22.520 に答える
0

多分これ?確かに言うには、itemPathに関する詳細情報が必要です。

function loadItems(id){
    $(itemPath).find("#"+id+"[title]").each(function () {
        $("#foot").append($(this).attr("title"));
    });
}
于 2013-03-04T20:33:08.447 に答える