Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:将属性值转换为嵌套数组(字符串转换为数字)_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript jQuery:将属性值转换为嵌套数组(字符串转换为数字)

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>

使用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>
…并将字符串转换为数字

我假设我需要这样做:

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();