配列に一意の名前付きオブジェクト(重複なし)のみを追加しようとしていますが、そのためにまずオブジェクトが既に存在するかどうかを確認する必要があります配列。残念ながら、私の試みはすべて、アレイに重複したオブジェクトを追加し続けます。私は各オブジェクトの配列を1つ1つチェックして、追加したいオブジェクトが既に配列に入っているかどうかを調べることができます。もしそうなら、私は何もしません。したがって、配列内のitem.ORGとオブジェクトの名前が一致するかどうかチェックしています。これは一致するかどうかを調べるのに役立ちますが、一致しない場合、配列にさらにオブジェクトを追加するため、新しいオブジェクトを配列に追加したくありません。私の最近の試みは、どちらもうまくいきません。あなたのループでは配列内のオブジェクトの存在を確認する方法
//constructor for OrgObj that goes in ORRArr
function OrgObj(itemOrg) {
this.name = itemOrg;
this.count = 0;
this.url_status_list = [];
}
var ORGArr = [];
$.each(_items, function(index, item) {
var weFoundIt = true;
if (ORGArr.length === 0) {
ORGArr.push(new OrgObj(item.ORG));
} else {
for (var i = 0; i < ORGArr.length; i++) {
if (item.ORG === ORGArr[i].name) {
break;
} else {
weFoundIt = false; {
}
}
if (weFountIt === false) {
ORGArr.push(new OrgObj(item.ORG));
}
});
、私はまだそれがfalseにweFoundItを変更することにより、仕事を得るように見えることはできません。また、F12ツールを使用すると、マップがサポートされていないと表示されます。他のアイデア? –
あなたのインデントが括弧に対応していないことに気付きました。あなたの 'if(weFountIt === false)'は実際にループ内にあります。あなたはループの後ろに置くべきです。また、あなたの 'の'の代わりに 'fount'を書いたタイプミスがあります。次に、実際の例を示します。https://jsfiddle.net/y4b80wcc/ – bnord