For-in 循环遍历对象在第一个键后停止
For-in looping through an object stops after first key
有人可以解释如何迭代对象的所有键值对吗?我是否需要将字符串对添加到新对象中,然后返回该对象?到目前为止,我有以下内容,它适用于嵌套对象,但它只会返回第一对。
var objectify = function (obj, stringifyJSON) {
for (var key in obj) {
if (obj.hasOwnProperty) {
return (stringifyJSON(key) + ":" + stringifyJSON(obj[key]));
}
事实上,对于像{"a":1,"b":2,"c":3}这样的对象,我只返回{"a":1}。
我还尝试了以下方法:
var objectify = function (obj, stringify) {
var holder = {};
for (var key in obj) {
if (obj.hasOwnProperty) {
holder[stringifyJSON(key)] = stringifyJSON(obj[key]);
}
}
return ("" + holder + "");
};
它只返回 {[对象对象]}。我尝试用引号分配键和值,而不对键和值调用 stringify,但它们也返回 {[object Object]}。
以下是调用 objectify 的代码片段:
else if (typeof obj === "object" && obj !== null) {
return ("{" + objectify(obj, stringifyJSON) + "}");
}
不要在循环中使用 return。一个可能的解决方案可能是:
var objectify = function (obj, stringifyJSON) {
var tmp = '';
for (var key in obj) {
if (obj.hasOwnProperty) {
tmp = tmp + (stringifyJSON(key) + ":" + stringifyJSON(obj[key]));
tmp =+ '; '; // here you can put any char that you want to separate objects
}
}
return tmp;
}
相关文章:
- Handlebars访问第一个项目,然后访问后面的每个项目(在每个循环中)
- 如何返回与 javascript 中循环的其余部分不同的第一个循环
- Nodejs async.each 等待第一个循环
- 第一个元素和最后一个元素之间的连续循环
- 如何循环遍历表行,更改类,并使用"n〃;行数,并知道每行中第一个单元格的值
- 没有在每个循环中获得第一个形式
- 循环通过表格查找第一个具有 CSS CSSstablelisttdselect 的 TD 文本
- 为什么不't此循环返回到第一个索引
- jQuery:如何在不使用每个循环的情况下显示数组的第一个元素
- 如何删除 FOR EACH 循环中的第一个和最后一个值
- 如何在 Jquery/Javascript 中选择预定义选择的第一个和最后一个元素而不循环
- For 循环不迭代,输出的数据不超过第一个任务
- For-in 循环遍历对象在第一个键后停止
- jQuery animate 循环卡在第一个循环中
- 第一个循环不起作用
- 我如何编写一个 Javascript for 循环,以便在满足第一个条件时中断
- 文件上传获胜't触发以下循环(第一个循环除外)
- 第一个循环在第二个循环开始时停止
- 我怎样才能在不让第一个循环循环到第二个循环的情况下嵌套for循环呢?
- 在第一个循环之前初始化计数器