gpt4 book ai didi

javascript - 将数组插入循环内的对象

转载 作者:行者123 更新时间:2023-11-29 21:57:11 25 4
gpt4 key购买 nike

我正在尝试插入 <span class="">数组中的值 arrChairs[] , 并将这个数组插入一个对象中 room{} ,显然我做错了,因为它不起作用,这里是代码:

html:

<div id="table">
<a href="" id="foo1">
<span class="chair1"></span>
<span class="chair2"></span>
<span class="chair3"></span>
<span class="chair4"></span>
</a>
<a href="" id="foo2">
<span class="chair1"></span>
<span class="chair2"></span>
</a>
<a href="" id="foo3">
<span class="chair1"></span>
<span class="chair2"></span>
<span class="chair3"></span>
</a>
</div>

js:

room = {},
arrChairs = [];

$('#table a').each(function(i){
tableId = $('#table a:eq('+i+')').attr('id');
room[tableId] = {};

$('#table a:eq('+i+') span').each(function(i){
arrChairs.push( $(this).attr('class') );
});
room[tableId].chairs = arrChairs;
});

我不知道为什么它不起作用。

这就是arrChair在 console.log 上返回我:

['chair1','chair2', 'chair3', 'chair4', 'chair1', 'chair2', 'chair1', 'chair2', 'chair3']

它连接所有内容。一些帮助将不胜感激

最佳答案

您正在输入 <span class="">所有在一起,因为你没有初始化 arrChairs对于每个 <a>在根目录中 <div> .试试这个:

room = {};

$('#table a').each(function(i){
tableId = $('#table a:eq('+i+')').attr('id');
room[tableId] = {};
var arrChairs = [];

$('#table a:eq('+i+') span').each(function(i){
arrChairs.push( $(this).attr('class') );
});
room[tableId].chairs = arrChairs;
});

制作console.log对于 room而不是 arrChairs .

希望对你有帮助

关于javascript - 将数组插入循环内的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25900905/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com