[英]How to use array.push correctly?
var send_value = [current_site_id, current_site_name, current_site_description];
console.log(send_value);
send_value = jQuery(this).is(':checked') ? send_value.push('add') : send_value.push('delete');
console.log(send_value);
結果是
[“ 12”,“ qwrqweqwer”,“ qwreqwr”]
4
我哪里錯了?
PS。 抱歉,我的錯誤是在send_value =
,無法理解它是如何到達那里的
這行send_value = jQuery(this).is(':checked') ? send_value.push('add') : send_value.push('delete');
send_value = jQuery(this).is(':checked') ? send_value.push('add') : send_value.push('delete');
將push
的返回值分配給send_value
,但不執行任何操作。 返回值是數組對象的新長度, 如規范所示
嘗試這個:
send_value.push(jQuery(this).is(':checked') ? 'add' : 'delete');
推三元的結果值
如果發現它更具可讀性,則可以將三元數轉換為表達式,而不是語句:
(jQuery(this).is(':checked') ? send_value.push('add') : send_value.push('delete'));//<-- notice surrounding parentheses
但是,坦率地說,如果您擔心可讀性,最好不要使用三元組,而是恕我直言。
push
完成后, push
返回數組的長度。 嘗試這個:
var send_value = [current_site_id, current_site_name, current_site_description];
console.log(send_value);
send_value.push( jQuery(this).is(':checked') ? 'add' : 'delete' );
console.log(send_value);
另外,您應該使用對象而不是數組。 send_value.site_id
讀取效果優於send_value[0]
...
var result = jQuery(this).is(':checked') ? 'add' : 'delete';
send_value.push(result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.