Javascript 每个循环都需要访问jQuery外部的变量
我有一个json字符串,看起来像这样Javascript 每个循环都需要访问jQuery外部的变量,javascript,jquery,Javascript,Jquery,我有一个json字符串,看起来像这样 var jsonString = '[{"name":"John Smith","uid":1234,{"name":"Susie Something","uid":4567"}]'; 我正在做一个函数,它将返回所有用逗号分隔的UID。例如: 12344567 我现在做的是 function getUIDS(json){ var uids = ''; parsed = JSON.parse(json); $.each(friends, function(
var jsonString = '[{"name":"John Smith","uid":1234,{"name":"Susie Something","uid":4567"}]';
我正在做一个函数,它将返回所有用逗号分隔的UID。例如:
12344567
我现在做的是
function getUIDS(json){
var uids = '';
parsed = JSON.parse(json);
$.each(friends, function() {
uids = uids + this.uid.toString() + ',';
});
reuturn uids;
}
然而,没有任何回报。如何访问jquery线程创建的变量(在jquery线程之外)。如果这是完整的代码,并且在任何地方都没有定义friends,则传递解析而不是friends
function getUIDS(json){
var uids = '';
parsed = JSON.parse(json);
$.each(parsed, function() {
uids = uids + this.uid.toString() + ',';
});
reuturn uids;
}
尝试:
代码中的问题是:(请参阅代码注释)
尝试修复json:
var jsonString = '[{"name":"John Smith","uid":1234},{"name":"Susie Something","uid":4567"}]';
并稍微更改您的代码:
function getUIDS(json) {
var uids = '',
friends = JSON.parse(json);
$.each(friends, function() {
uids += this.uid + ',';
});
return uids;
}
重要的部分是在friends
上循环,并正确拼写return
你也应该考虑使用某人建议的<代码>连接< /代码>。这将确保在
UID
字符串的末尾不会出现尾随“,”(除非这是您想要的)。首先,您的jsonString格式不正确。可能因为reuturn
而没有返回任何内容?此外,请检查JSONString。第三,您应该先解析JSON,然后才能将其用作对象。第四,您正在迭代朋友
(未定义),而不是解析的
。
var jsonString = '[{"name":"John Smith","uid":1234},{"name":"Susie Something","uid":4567"}]';
function getUIDS(json) {
var uids = '',
friends = JSON.parse(json);
$.each(friends, function() {
uids += this.uid + ',';
});
return uids;
}