簡體   English   中英

JavaScript對象刪除特定鍵

[英]Javascript object remove specific key

我對此對象數組有問題。 我需要刪除與removeVal匹配的對象。我不會刪除。 查看隨附的照片,該照片以紅色突出顯示。 我需要刪除所有內容。

在此處輸入圖片說明

var removeVal = $(this).attr('href');    
         $.each(product_json, function(key, val){

                  if( key == removeVal) {
                        val.splice(key);
                   }

              });

在此處輸入圖片說明

希望如果我理解正確,這會對您有所幫助,

var removeVal = $(this).attr('href'); 

delete product_json[removeVal]

可能你的意思是

$.each(product_json, function(key, val){
  if(val == removeVal) {
    product_json.splice(key, 1);
  }
});

但是,由於splice編制索引,因此在刪除一項時不會檢查下一項,但可能也需要將其刪除。

正確的方法是使用filter

product_json = product_json.filter(function(val) {
  return val != removeVal;
});

我認為product_json看起來像您顯示的圖像。

然后,

代碼不應該像下面嗎?

var removeVal = $(this).attr('href');    
$.each(product_json, function(key, val){
    // val is an array
    for( var i in val ) {
        // val[i] is also an array
        for( var j in val[i] ) {
            // val[i][j] is a value
            if( val[i][j] == removeVal ) {
                val.splice( key );
            }
        }
    }
});

更加具體,

我需要你解釋一下product_json是什么

和$(this).attr('href')的樣本

以及為什么圖像中的那些數組看起來像那樣。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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