javascript - 将复杂数据属性插入一个数组的问题

标签 javascript jquery arrays

我正在制作下面的演示。如何将年龄属性中的所有数据加载到一个数组中,使其看起来像这样?

 out = [48,14,139,49,15,135,51,15,140,49,15,135,51,15,140,52,16,141] 

let agesindx =[];
$(".box").each(function(){
    //agesindx.push($(this).data('ages').split(','));
    agesindx.push($(this).data('ages'));
  });
 console.log(agesindx);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="box" data-ages="[48, 14, 139]"></div>
<div class="box" data-ages="[49,15,135],[51,15,140]"></div>
<div class="box" data-ages="[49,15,135],[51,15,140],[52,16,141]"></div>

最佳答案

您可以使用 JSON.parse 从字符串中解析您的数组。 然后你会在数组中得到一个数组等等。所以最后你可以做 joinsplit 这会给你一个单一的数组。

let agesindx =[];
$(".box").each(function(){
    //agesindx.push($(this).data('ages').split(','));
    let x = JSON.parse('['+$(this).data('ages')+']');
    // console.log(JSON.parse('['+$(this).data('ages')+']'));
    agesindx.push(x);
  });
  
 console.log(agesindx.join().split(',') );
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="box" data-ages="[48, 14, 139]"></div>
<div class="box" data-ages="[49,15,135],[51,15,140]"></div>
<div class="box" data-ages="[49,15,135],[51,15,140],[52,16,141]"></div>

关于javascript - 将复杂数据属性插入一个数组的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55683761/

相关文章:

C 基于用户输入的二维数组

java - 比较数组中的连续元素并对相同值求和

javascript - Angular - 使用单选按钮

javascript - 在其外部点击时模糊 TextInput

javascript - 如何使用 jQuery UI 检测我拖到窗口外的情况?

javascript - 标签过渡问题

java - Java中如何在数组中来回移动

javascript - 如何使用 Javascript 获取访问者监视器分辨率?

javascript - 获取最接近随机数的 1000 的数字

javascript - 发帖前如何编辑POST数据?