2012-07-27 22 views
0

我有兩個數組,而我比較兩個值,然後設置一個JSON對象:for循環打破了數組比較後因故

var compare = ["hh", "pictures", "videos", "aboutMe", "contactMe", "cat", "location"]; 
var data = ["pictures", "videos", "aboutMe", "contactMe", "cat", "location"]; 
    for (var j=0; j<compare.length; j++) { 
     if (compare[j] === data[j]) { 
      self.MenuItems.menu_item[j].added = "added"; 
     }else if (compare[j] !== data[j]){ 
      self.MenuItems.menu_item[j].added = ""; 
     } 
    } 

出於某種原因,所有self.MenuItems.menu_item[j],他們都無論是相等的「添加」或「」; ...

+1

你期望什麼?如果它們相等,則設置爲「」添加「;」如果沒有,則轉到'「」'。 – pimvdb 2012-07-27 19:24:55

+0

以及所有值都設置爲「添加」或「」...不只是一個「」和6「添加」 – re1man 2012-07-27 19:26:36

+0

從'0'到'compare.length - '的所有'self.MenuItems.menu_item' 1'會分配他們的'added'屬性。 – Li0liQ 2012-07-27 19:28:02

回答

1

只要你知道這種情況是不是很有效,在這裏應該如何

if (compare[j] === data[j]) { 
    self.MenuItems.menu_item[j].added = "added"; 
}else { 
    self.MenuItems.menu_item[j].added = ""; 
} 

和代碼做什麼打算。除非你有其他想法。

+0

如果你解除引用'self.MenuItems.menu_item' – Bergi 2012-07-27 19:39:21