私は、以下に示すようなbackbone.jsモデルを持っています。backbone.jsモデルを新しい配列要素で更新する
Filters = Backbone.Model.extend({
defaults : {
title: [ ["title1", "easy"], ["title2", "hard"] ]
}
});
私はモデルが、その後になるように、最初のレベルの配列に要素を追加しようとしています:
Filters = Backbone.Model.extend({
defaults : {
title: [ ["title1", "easy"], ["title2", "hard"], ["title3", "medium"] ]
}
});
私が今持っているコードはこれです:
function setFilters() {
var options = {};
for (var facet in facets) {
for (var facetKey in facets[facet]) {
if (!filterExists(facetKey)) {
options[facetKey] = new Array(new Array(facets[facet][facetKey], "equals"));
}
else {
(filters[facetKey]).push(new Array(facets[facet][facetKey], "equals"));
}
}
}
filters.set(options);
}
関数filterExistsは、キー "title"がモデルに存在するかどうかを単純にチェックします。これを実行すると、フィルタ[facetKey]は定義されていません。しかし、これは私の要素を押し込むために必要な最初のレベルの配列ではありませんか?
Offtopic:代わりに新しいアレイ(新しいアレイ(ファセットの[ファセット] [facetKey]、 "等しい")) ''のあなたは[ずっと短い '[[ファセットを書く理由はありませんファセット] [facetKey]、 "equals"]] '? 'filters'はグローバル変数ですか? 'filters'または' Filters'? – biziclop
@biziclopはい、filtersはグローバル変数です。配列のヒントをありがとう。 – kaspnord
また、 '{{title1"、 "easy"}、{"title2"、 "hard"}} 'は[[" title1 "、" easy "]、[" title2 "、" hard "]]'でなければなりません。 。 '{} 'はオブジェクトを作成するためのものです。' {name:' Joe '、city:' London '} ' – biziclop