2

我需要按值从多维 javascript 对象中删除项目。例如,我有这个对象树(截图仅包含部分):https ://dl.dropboxusercontent.com/u/13057084/files-tree.png

在此处输入图像描述

我需要按“文件”的值删除项目,例如从屏幕截图上的树中删除文件“9RuOxSPnTR-i_1.jpg”。

我试着用这个:

$.each(files, function (index_folder,folder) { // foreach files as folders
  $.each(folder, function (index_file,file_data) { // foreach folders as files (index_file = numeric index key of file)    
    delete files[index_folder][index_file];
  });
});
4

2 回答 2

2

使用拼接:

files[index_folder].splice(index_file, 1);
于 2013-06-21T07:40:01.130 回答
2

您用于delete从对象中删除属性并.splice从数组中删除元素:

> var o = {a: 1, b: 2};
> delete o.a;
true
> o;
{b: 2}

> var a = ['a', 'b', 'c', 'd'];
> a.splice(2, 1);
['c']
> a;
['a', 'b', 'd']
于 2013-06-21T07:41:09.617 回答