You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery将两个数组转换为指定格式的键值对集合?

解决方案

你的问题出在对象字面量的属性名写法上——直接写i会被当作字符串"i",而不是引用变量X[i]的值。下面是两种实现方式,包括原生JS和你提到的jQuery写法:

原生JavaScript修正版

var X = [1,3,5];
var Y = ["X", "Y", "Z"];

var myArray = [];
for (var i = 0; i < X.length; i++) {
    var obj = {};
    // 用方括号语法动态设置属性名
    obj[X[i]] = Y[i];
    myArray.push(obj);
}
// 最终结果:[{1: "X"}, {3: "Y"}, {5: "Z"}]

jQuery实现版

如果一定要用jQuery,可以用$.each遍历数组:

var X = [1,3,5];
var Y = ["X", "Y", "Z"];

var myArray = [];
$.each(X, function(index, key) {
    var obj = {};
    obj[key] = Y[index];
    myArray.push(obj);
});

关键说明

在JavaScript中,对象的属性名有两种写法:

  • 点语法:obj.key,这里的key是固定字符串,无法使用变量
  • 方括号语法:obj[变量],可以动态传入变量作为属性名,这正是你需要的写法

内容的提问来源于stack exchange,提问作者HTML Man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 11:04:53