2017-11-18 151 views
0

我已經創建了angularjs應用程序,我在其中創建了問題模塊,其中問題1-5具有相同的描述,然後問題6-7具有相同的描述,因此我將相同的描述保存到每個問題並顯示他們在下一個按鈕上逐一使用。現在的功能變化我想顯示一個頁面上,所以我使用了NG-重複現在的問題是問題描述也重複同樣如此描述顯示了每1-5題我JSON就像從對象數組中刪除重複的值

[ { 
    description:'xxxxxx', 
    question:'abcd', 
    correctAnswer:'A', 
    hasSameDesc:true 
}, 
{ 
    description:'xxxxxx', 
    question:'pqr', 
    correctAnswer:'B' 
    hasSameDesc:true 
}, 
{ 
    description:'xxxxxx', 
    question:'XYZQ', 
    correctAnswer:'A' 
    hasSameDesc:true 
}] and so on 

現在我想在第一個問題上方顯示該描述,並且仍然存在2-5個問題,但沒有說明 所以任何人都有建議我該怎麼做? thanx in advanced。

+0

'我的JSON是like' - 如果這是JSON,它是無效的 –

+0

向我們展示你的HTML代碼,更具體的' ng-repeat'你在說 –

回答

0

如果可能的話,我會將您的JSON對象屬性「question1」,「question2」等重命名爲「question」,否則您基本上遍歷不同對象的數組,這會讓事情變得更加困難。

<div ng-repeat="question in questions track by $index"> 
    <h1 ng-if="$index == 0 || $index == 5"> {{question.description}} </h1> 
    <span>{{question.question}}</span> 
</div> 

這是接近你的意思嗎?基本上用ng-repeat你可以選擇你想要顯示的對象的屬性。

+0

我的情景就像1-5一樣的描述,然後6-7有同樣的描述,所以從{{questions [0] .description}}只顯示第一個描述 – kalpeshR

+0

@kalpeshR我已經更新了我的答案,說明只會顯示第1和第6個問題 –

+0

我剛剛給出的例子有一些問題沒有說明n就像第一個問題沒有描述那麼2-4之後有說明然後5-6沒有再說明然後7有說明麼?說明的順序不固定它可以是任何地方 – kalpeshR

0

在顯示之前過濾數組將很好。

這個例子第一個合適的值取。您可以修改條件找到全部或部分uniq的對象

let data = [ { 
 
    description:'xxxxxx', 
 
    question1:'abcd', 
 
    correctAnswer:'A', 
 
    hasSameDesc:true 
 
}, 
 
{ 
 
    description:'xxxxxx', 
 
    question2:'pqr', 
 
    correctAnswer:'B', 
 
    hasSameDesc:true 
 
}, 
 
{ 
 
    description:'xxxxxx', 
 
    question3:'XYZQ', 
 
    correctAnswer:'A', 
 
    hasSameDesc:true 
 
}, 
 
{ 
 
    description:'yyyyy', 
 
    question3:'XYZQ', 
 
    correctAnswer:'A', 
 
    hasSameDesc:true 
 
}]; 
 

 
let uniq = data.filter((elem, index, self) => { 
 
    return index == self.findIndex(e => elem.description == e.description) 
 
}) 
 

 
console.log(uniq)

+0

thanx的答案,但這刪除其他問題,我想所有的問題,除了重複的描述 – kalpeshR

+0

你可以打印輸入數據和預期輸出的例子嗎? –