作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 json,我 $.each
videolist
并尝试获取第二个
。然后,我希望将 second
转换为 array[],方便我执行下一个我想要的功能。只是不知道如何将其转换为数组。
var videoinfo = [{
"startdatetime": "2014-12-21 00:23:14",
"totalsecondrun": "2019402310",
"videolist": [{
"videoid": "uoSDF234",
"second": "10"
}, {
"videoid": "0apq3ss",
"second": "14"
}]
}];
var calduration = function() {
var list = videoinfo[0].videolist;
$.each(list, function(index, value) {
alert($.makeArray(value.second));
});
};
calduration();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
我预计输出应该是[10,14]。
最佳答案
如果您坚持使用 $.each()
循环,正如您的标题所示,这是一种方法:
var calduration = function () {
var duration = [];
$.each(videoinfo[0].videolist, function (index, value) {
duration.push(parseInt(value.second, 10));
});
return duration;
};
<小时/>
我建议使用$.map()
,不过:
var calduration = function () {
return $.map(videoinfo[0].videolist, function (value, index) {
return parseInt(value.second, 10);
});
};
..或.map()
:
return videoinfo[0].videolist.map(function (value, index) {
return parseInt(value.second, 10);
});
<小时/>
如果你想使用纯 JS:
var calduration = function () {
return Array.prototype.map.call(videoinfo[0].videolist, function(value){
return parseInt(value.second, 10);
});
};
关于javascript - 如何将 $.each 对象转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27832236/
我是一名优秀的程序员,十分优秀!