我有这段 JavaScript 代码
lastUpdated: 1492665454,
items:
[
$.each(objectStory, function(key, value) {
//key + ": " + value ;
//console.log(value)
console.log(JSON.stringify(value));
//document.write(sitem);
return JSON.stringify(value);
}),
]
}]
console.log 按我想要的方式打印对象,但返回函数不起作用。数据来自使用ajax调用的json文件。 这是consolg日志的返回
{"id":"87","type":"image","src":"url/IMG_2363.MOV"}
任何帮助将不胜感激
最佳答案
$.each
返回调用它的对象(用于与其他方法链接),而不是您希望的字符串。当您需要结果时,您应该使用 map
`。请看一下显示差异的代码片段:
var objectStory = {
k1: 1,
k2: 2,
k3: 3
}
var eachResult = $.each(objectStory, function(key, value) {
return JSON.stringify(value);
});
var mapResult = $.map(objectStory, function(value) {
return JSON.stringify(value);
});
console.log(eachResult);
console.log(mapResult);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
在您的代码中,您应该这样为关键items
分配值:
var obj = {
// other fields
items: $.map(objectStory, function(value) {
return JSON.stringify(value);
})
};
否则,您的 items
键下将会有嵌套数组。
关于javascript - 从 JavaScript 中的 JQuery.each() 返回一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46609950/