Javascript jQuery:将属性值转换为嵌套数组(字符串转换为数字)
使用jQuery,我希望获得每个属性值,将其插入数组,然后将每个数组插入数组 从这个HTML:Javascript jQuery:将属性值转换为嵌套数组(字符串转换为数字),javascript,jquery,arrays,Javascript,Jquery,Arrays,使用jQuery,我希望获得每个属性值,将其插入数组,然后将每个数组插入数组 从这个HTML: <ul> <li data-bbox="-121,20,-36,30">Item 1</li> <li data-bbox="-122,30,-46,40">Item 2</li> <li data-bbox="-123,40,-56,50">Item 3</li>
<ul>
<li data-bbox="-121,20,-36,30">Item 1</li>
<li data-bbox="-122,30,-46,40">Item 2</li>
<li data-bbox="-123,40,-56,50">Item 3</li>
</ul>
…并将字符串转换为数字
我假设我需要这样做:
var bboxArray = [];
$('li[data-bbox]').each(function() {
bboxArray.push($(this).attr('data-bbox').split(','));
});
当您的代码正常工作时,它将返回字符串而不是所需输出中的数字。这将实现以下目的:
我只是在推送的末尾添加了.map(Number)
$('li[data-bbox]').each(function() {
bboxArray.push($(this).attr('data-bbox').split(',').map(Number));
});
您可以像这样使用.map()
方法:
var bboxArray = $('ul > li').map(function() {
return [ $(this).data('bbox').split(',') ];
}).get();
var bboxArray=$('ul>li').map(函数(){
返回[$(this.data('bbox').split(',')];
}).get();
log(bboxArray)代码>
- 第1项
- 第2项
- 第3项
我刚刚在CodePen上试用了你的代码。它运转良好。检查控制台。是的,工作不工作,那些是字符串,他要的是数字…(我想)是的。很抱歉我没有说得更清楚。我还想把字符串转换成数字。谢谢不客气!你能编辑标题以防其他人看到吗?谢谢我编辑了标题和帖子以使其更清晰。如果你想提出其他建议,请告诉我。
var bboxArray = $('ul > li').map(function() {
return [ $(this).data('bbox').split(',') ];
}).get();