我想使用.push()
方法創建javascript對象並創建Key Value Pair
。 我試過了,但它不起作用。使用.push()方法的Javascript對象
$("input[name^=ang_nama]").each(function() {
arr_nama.push($(this).attr('id'):$(this).val());
});
任何解決方案?
我想使用.push()
方法創建javascript對象並創建Key Value Pair
。 我試過了,但它不起作用。使用.push()方法的Javascript對象
$("input[name^=ang_nama]").each(function() {
arr_nama.push($(this).attr('id'):$(this).val());
});
任何解決方案?
你似乎想這樣的:
var arr_nama = [];
$("input[name^=ang_nama]").each(function() {
var obj = {};
obj[this.id] = $(this).val();
arr_nama.push(obj);
});
幾個意見:
$(this).attr('id')
時,你可以使用this.id
!另一種更清潔的解決方案是
var arr_nama = $("input[name^=ang_nama]").map(function() {
var obj = {};
obj[this.id] = $(this).val();
return obj;
}).get();
請注意,這將創建一個n陣列。如果你想要的是一個獨特的對象,使用此:
var arr_nama = {};
$("input[name^=ang_nama]").each(function() {
arr_nama[this.id] = $(this).val();
});
嘗試
var obj = {};
obj[$(this).attr('id')] = $(this).val();
arr_nama.push(obj);
試試這個,加花括號,同時推動
$("input[name^=ang_nama]").each(function() {
arr_nama.push({ $(this).attr('id'):$(this).val() });
});
不,您不能在JavaScript中執行此操作。 –
不適用於對象鍵,請參閱@ dystroy的答案 –
「不使用$(本)。 attr('id')when you use this.id「same for value :) –
@roasted是的,但只是因爲它是一個'input'。對於某些元素來說,這不是完全相同的行爲,這就是爲什麼我不願意改變它。 –
好點! Thx –