私が取り組んでいる角度コードがあります。目標は、リファクタリングが間もなく行われるため、できるだけ角度1.xの機能性を少しでも使用することです。javascript配列とオブジェクトの配列を比較する
は、私は別の配列を収容するキーと値の関係を持つオブジェクトの配列に配列
let subscription = [
"Cinemax Subscription",
"Disney Subscription",
"Encore Subscription",
"Epix Subscription",
"HBO Subscription",
"MLB Subscription",
"NBA Subscription",
"NHL Subscription",
"Division"
]
を比較しています。
let profiles = [
{
name:"1+ Adults in Household",
qualifiers: [
{
name: 'Number of adults in the household'
}
]
},
{
name: '75k',
qualifers: [
{
name: 'Division'
},
{
name: 'Income'
}
]
},
{
name: 'Time Warner',
qualifers: [
{
name: 'Division'
}
]
}
]
私はインデックスとこれをループするのが困難です。
let = profilesFiltered = [];
は当初、私は、配列を比較するフィルタを使用しようと各 angular.for。
let filteredProfiles = subscription.filter(function (src) {
angular.forEach(profiles, function (key, index) {
if(src === key.qualifiers[index].name) {
profilesFiltered.push(key);
}
})
});
私は
key.qualifiers[index].name // 'Number of adults in the household'
が、私は失敗し始めている方法を見て
subscription[0] // however, it will continue to 1 on the first object which isn't there.
と比較して、正しいアウト開始していること、if文の内側に見ています。しかし、** profiles **配列の修飾子を正しくループさせる方法がわかりません。
希望の結果は、インデックス内の最後の配列項目であるの部門です。
profilesFiltered = [
{
name: '75k',
qualifers: [
{
name: 'Division'
},
{
name: 'Income'
}
]
},
{
name: 'Time Warner',
qualifers: [
{
name: 'Division'
}
]
}
]
ご意見は、この時点で非常に高く評価されています。
おかげ
あなたの問題は、依然として、少なくとも私にとっては、非常に不明瞭です。あなたのコードには多くの間違いがあります。たとえば、フィルタ関数でブール値を返さない。したがって、filteredProfilesは常に空になります。あなたは 'qualifiers'配列を実行していません - 最初のbtwの後のオブジェクトで間違ったスペルがあります - あなたは最初の修飾子だけを探しています。等。あなたは達成しようとしていることを自分自身が説明している小さな例を提供することができます。 –