如何在jquery中创建二维关联数组?
我想用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"
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';
});