Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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
如何在jquery中创建二维关联数组?_Jquery_Arrays_Multidimensional Array - Fatal编程技术网

如何在jquery中创建二维关联数组?

如何在jquery中创建二维关联数组?,jquery,arrays,multidimensional-array,Jquery,Arrays,Multidimensional Array,我想用jQuery创建二维数组,并得到以下结果: Array( [data_name_1] => Array([0] => A, [1] => B) [data_name_2] => Array([0] => P, [1] => L) [data_name_3] => Array([0] => K, [1] => M) ) HTML是 <li data-attr-name="data_name_1"

我想用jQuery创建二维数组,并得到以下结果:

Array(
  [data_name_1] => Array([0] => A, [1] => B)
  [data_name_2] => Array([0] => P, [1] => L) 
  [data_name_3] => Array([0] => K, [1] => M) 
)
HTML是

<li data-attr-name="data_name_1">
   <div class="_container_">
       <span>A</span>
       <span>B</span>
   </div>
</li>
<li data-attr-name="data_name_2">
   <div class="_container_">
      <span>P</span>
      <span>L</span>
   </div>
</li>

请帮帮我。谢谢。

您可以直接使用元素执行此操作-使用
reduce
map

var result=$('li').get().reduce((acc,x)=>{
acc[$(x).data(“attr name”)]=$(x).find(“span”).get().map(s=>$(s).text());
返回acc;
},{})
控制台日志(结果)

  • A. B
  • P L
  • 您需要做的就是使用查找所有span元素,并使用从该span中获取文本

    映射将在选定的范围内迭代,并从jQuery对象返回字符串数组

    var object_name={};
    $('li')。每个(函数(){
    var li=$(本);
    对象名称[li.data('attr-name')]=li.find('span').map(函数(){
    返回$(this.text();
    }).get();
    });
    console.log(对象名称)
    
    
    
  • A. B
  • P L
  • 您需要显示您的html,这些A B是从哪里来的?@jcubic I编辑并添加html。谢谢,我在jquery中使用的代码可能是错误的,非常感谢jcubic
    var object_name = {};
      jQuery('li').each(function(){
       object_name[jQuery(this).data('attr-name')] = 'test';
      });