需要访问每个循环 jQuery 之外的变量
Need to access a variable outside of a jQuery each loop
所以我有一个 json 字符串看起来像这样
var jsonString = '[{"name":"John Smith","uid":1234,{"name":"Susie Something","uid":4567"}]';
我正在制作一个函数,它将返回所有用逗号分隔的 UID。所以例如:1234,4567.
我现在做的是这个
function getUIDS(json){
var uids = '';
parsed = JSON.parse(json);
$.each(friends, function() {
uids = uids + this.uid.toString() + ',';
});
reuturn uids;
}
但是,什么也没回来。如何访问由 jquery 线程在 jquery 线程之外创建的变量。
传递
解析而不是朋友,如果这是完整的代码并且朋友没有在任何地方定义
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
。
您还应该考虑按照某人的建议使用join
。这将确保您不会在uids
字符串的末尾获得尾随的","(除非这是您想要的)。
尝试:
function getUIDS(json){
var uids = [];
var friends = JSON.parse(json);
$.each(friends, function(i) {
uids.push(friends[i].uid);
});
return uids.join(',');
}
代码中的问题有:(请参阅代码注释)
function getUIDS(json){
var uids = '';
parsed = JSON.parse(json);
$.each(friends, function() { // using friends instead of parsed
uids = uids + this.uid.toString() + ','; // using this here
});
reuturn uids; // spelling mistake for return keyword
}
相关文章:
- 值未传递给变量(JQuery、Javascript)
- 附加要使用的变量jQuery验证插件
- 按钮变量范围 - 如何更新父范围中的变量?jQuery.
- grunt-contrib-jasmine ReferenceError: 找不到变量: jQuery.
- 未定义的变量 jQuery 对象
- 调用变量 jQuery 函数
- 访问正在改变函数内部的变量(jQuery)
- 在变量jquery日期选择器中获取今天的日期和所选日期
- 如何序列化存储在变量 jQuery 中的表单
- 如何在单独的函数中获取此变量?(jQuery)
- 可以't在嵌套函数中使用javascript变量(jquery砖石插件)
- 将.attr()添加到变量Jquery中
- 将.change函数中变量的值传递并更新到全局变量Jquery
- 将ajax变量Jquery到php中
- 用两个双引号和加号包围javascript变量jquery $.post
- 如何将html结构存储在变量jquery中
- 如何通过名称空间变量进入点击函数参数变量?jQuery
- 检查if条件,if语句被赋值为字符串变量- jquery|| javascript
- 从on()函数返回变量- jquery
- 创建一个变量,在每个循环中使用一个变量- jQuery