0

如何生成具有自己索引的数组或对象?

在php中我可以:

$array = array();

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

在 jQuery 中?

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

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

4

5 回答 5

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

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

于 2012-08-07T12:27:42.390 回答
2

这本来是不可能通过数组实现的,但是有一种方法可以通过 JS 对象来实现

var person = { country: 'Pakistan' };

现在这是一个对象,你会看到这两个语句都给出了相同的结果。

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

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

于 2012-08-07T12:50:40.107 回答
1

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

var obj = {};
$('input').each(function() {
    obj[$(this).val()] = $(this).val();
})
于 2012-08-07T12:27:52.287 回答
1
var obj = {};
$('input').each(function(){
   obj[$(this).val()] = $(this).val();
});

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

于 2012-08-07T12:28:19.877 回答
1

使用对象而不是数组

var arr = {};
于 2012-08-07T12:28:32.203 回答