如何使用自己的索引生成数组或对象?
在 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();
})