首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要帮助将数组转换为多个数组

需要帮助将数组转换为多个数组
EN

Stack Overflow用户
提问于 2016-01-04 16:03:39
回答 3查看 51关注 0票数 0

我有以下选择:

代码语言:javascript
复制
<select id="custom-headers" multiple="multiple" class="searchable custom-headers">
<option data-invoice-number="36655" value="1187">RAPCY3</option>
<option data-invoice-number="87172" value="1188">1188</option>
<option data-invoice-number="79190" value="1189">CXETHD</option>
<option data-invoice-number="24584" value="1190">ZDAC2X</option>
<option data-invoice-number="49694" value="1191">2T8SRJ</option>
<option data-invoice-number="11290" value="1192">XDCH5J</option>
<option data-invoice-number="96188" value="1193">83EYS8</option>
<option data-invoice-number="33819" value="1194">WE5PEW</option>
<option data-invoice-number="56529" value="1195">CJEQWM</option>
<option data-invoice-number="55643" value="1196">RAPCY3</option>
<option data-invoice-number="72334" value="1197">1197</option>
<option data-invoice-number="14563" value="1198">CXETHD</option>
<option data-invoice-number="58963" value="1199">ZDAC2X</option>
<option data-invoice-number="44810" value="1200">2T8SRJ</option>
<option data-invoice-number="88482" value="1201">XDCH5J</option>
<option data-invoice-number="9731" value="1202">83EYS8</option>
<option data-invoice-number="41170" value="1203">WE5PEW</option>
<option data-invoice-number="1911" value="1204">CJEQWM</option>
</select>

我需要将值和发票号收集到一个数组中。jQuery只适用于Reslist:

代码语言:javascript
复制
o.reservations        = [];
    $('.custom-headers option:selected').each(function (i, selected) {
        o.reservations[i] = $(selected).val();
});

给我一个1187, 1188, 1189数组,我需要这样的东西

代码语言:javascript
复制
reslist => 1187, 1188, 1189, invoices => 36655, 87172, 79190

试过:

代码语言:javascript
复制
o.reservations        = [];
    $('.custom-headers option:selected').each(function (i, selected) {
        o.reservations[i] = $(selected).val();
        o.reservations[i] = $(selected).data('invoice-number');
});

不知道如何定义js中的键?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-01-04 16:06:17

代码语言:javascript
复制
$('.custom-headers option:selected').each(function (i, selected) {
    o.reservations.push({
        value: $(selected).val(),
        number: $(selected).data('invoice-number')
    });
});

这将填充以下数组:

代码语言:javascript
复制
[{value: 1187, number: 36655}, {value: 1188, number: 87172}, ...]
票数 1
EN

Stack Overflow用户

发布于 2016-01-04 16:06:24

代码语言:javascript
复制
var arr = {"reslist":[], "invoices":[]};

$('.custom-headers option:selected').each(function (i, selected) {
    arr.reslist.push($(this).val());
    arr.invoices.push($(this).data("invoice-number"));
});
票数 0
EN

Stack Overflow用户

发布于 2016-01-04 16:07:10

用地图。

代码语言:javascript
复制
console.log($('#custom-headers option').map(function(option){
    var $this = $(option);
    return { invoice-number: $this.data('invoice-number'), value: $this.val() };
}));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34595092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档