Javascript 在jquery中创建关联数组

Javascript 在jquery中创建关联数组,javascript,jquery,arrays,associative-array,Javascript,Jquery,Arrays,Associative Array,这就是我目前所拥有的鞋款,鞋款有靴子、威灵顿鞋、皮革、运动鞋(按顺序排列) 我想迭代并赋值,这样我就有了 var shoeArray = { boots : '3', wellingtons: '0', leather : '1', trainers: '3'}; 目前,我只得到一个{3,0,1,3}数组,我可以使用它,但它不是很有用 function shoe_types() { var shoeArray = []; $('[type=number]').each(func

这就是我目前所拥有的鞋款,鞋款有靴子、威灵顿鞋、皮革、运动鞋(按顺序排列)

我想迭代并赋值,这样我就有了

var shoeArray = { boots : '3', wellingtons: '0', leather : '1', trainers: '3'};
目前,我只得到一个
{3,0,1,3}
数组,我可以使用它,但它不是很有用

function shoe_types() {
    var shoeArray = [];
    $('[type=number]').each(function(){
        $('span[data-field='+$(this).attr('id')+']').text($(this).val());      
        shoeArray.push ( parseInt($(this).val()) );      
    });             
    return shoeArray;        
}
如果
$(this).attr('id')
是您可以尝试的鞋子类型

shoeArray[$(this).attr('id')] = parseInt($(this).val());

javascript中的关联数组与对象相同

例如:

var a = {};
a["name"] = 12;
a["description"] = "description parameter";
console.log(a); // Object {name: 12, description: "description parameter"}

var b = [];
b["name"] = 12;
b["description"] = "description parameter";
console.log(b); // [name: 12, description: "description parameter"]
检查此功能

function shoe_types() {
    var shoeArray = {}; // note this
    $('[type=number]').each(function(){
       $('span[data-field='+$(this).attr('id')+']').text($(this).val());
       shoeArray[$(this).attr('id')] =  parseInt($(this).val()) ;
    });
    return shoeArray;

}

PS:假设
$(this).attr('id')
具有所有鞋型

您需要的是一个返回对象的函数
{}

function shoe_types(){
   var shoeObj = {};
   $('[name="number"]').each(function(){
     shoeObj[this.id] = this.value;
   });
   return shoeObj;
}

shoe_types(); // [object Object]

您可以尝试在jquery中创建关联数组

var arr = {};
$('[type=number]').each(function(){
    arr.push({
         $(this).attr('id'): $(this).val()              
     });
});

console.log(arr);

这将允许您通过ajax在数组中传递所有数据。

JS中没有“关联数组”。你说的是物体。一些阅读材料:鞋的类型是固定的-只有并且将只有4种types@Roscoeh我认为
$(this).attr('id')
有鞋型JavaScript中的数组将表示为
[3,0,1,3]
,而不是
{3,0,1,3}
。你是想用花括号表示变量b吗?我不这么认为@Mark>