簡體   English   中英

如何正確使用array.push?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM