使用 INDEX 添加到数组或对象


Add to array or object with INDEX

如何使用自己的索引生成数组或对象?

在 PHP 中,我可以:

$array = array();
foreach($users as $user){
   $array[$user] = $user;
} 

在jQuery中?

var arr = new Array();
$('input').each(function(){
   arr[$(this).val()] = $(this).val();
})

我想为此使用 JS 对象,但是如何?

var arr = {};
$('input').each(function(){
    ...

这就是您所需要的。在JavaScript中,数组(new Array()[])有连续的索引,而对象(new Object(){})有任意属性。

这最初无法通过但是有一种方法可以使用JS对象来实现它

var person = { country: 'Pakistan' };

现在这是一个对象您将看到这两个语句给出相同的结果。

alert( person.country );
alert( person['country'] );

现在这意味着它实际上是对象,但它也像数组一样。

var obj = {};
$('input').each(function(){
   obj[$(this).val()] = $(this).val();
});

基本上就是这么简单。在此之后,您可以通过 obj[value]obj.value .

使用对象而不是数组

var arr = {};

只需使用对象而不是数组:

var obj = {};
$('input').each(function() {
    obj[$(this).val()] = $(this).val();
})