2016-12-08 4 views
0

の「シンボル(Symbol.iterator)」プロパティを読み取ることができません、コードがノード赤は、私は(私は赤のノードにちょっと新しいです)、私は本当に理解していない小規模なプログラムの開発にこの問題を持っている未定義

var profile = msg.user.profile; 
var cart = profile.cart = profile.cart || []; 
var search = profile.search; 
var id  = msg.payload.substring(8); 

for (let item of search){ 
    if (item.id != id) continue; 
    cart.push(item); 
    msg.payload = item; 
} 
です

そして、完全なエラーはfor (let item of search){TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefinedです。 私はいくつかの研究を行いましたが、このエラーは通常未定義のものが原因であることがわかりましたが、これを解決する方法は実際には分かりません。

答えて

1

私はあなたが使用して参照してください構文を聞かせ; はECMAScriptの2015年まで(ジャバスクリプトバージョン)でのみ利用可能構文を聞かせて、その基本的に何をする必要があるアレイ部が働いていたこの

var profile = msg.user.profile; 
var cart = profile.cart = profile.cart || []; 
var search = profile.search; 
var id  = msg.payload.substring(8); 

// assuming that profile.search is an array 
for (var i = 0 ; i < search.length ; i++){ 
    var item = search[i]; 
    if (item.id != id) continue; 
    cart.push(item); 
    msg.payload = item; 
} 

// if it is an object, then you could loop through its props 
for (var prop in search){ 
    var item = search[prop]; 
    if (item.id != id) continue; 
    cart.push(item); 
    msg.payload = item; 
} 
+0

おかげのようにコードを書き換えることです! – user3794667384

関連する問題