2013-05-24 3 views
-2

У меня есть подобный кодУдалить все вхождения имущества

for (var j=0;j<100;j++){ 
    ... 
    data[j].property1 = something; 
} 

и теперь я хочу, чтобы удалить все ocurences из property1. что-то вроде этого

remove data[]['property1'] 

есть ли простой способ сделать это, или я должен обеспечить его циклом?

+1

Приготовьтесь к петле! – epascarello

+3

Запустите это в цикле 'delete data [j] ['property1'];' –

+0

Вы можете сослаться на http://perfectionkills.com/understanding-delete/ Это невероятно подробный блог, объясняющий, как работает удаление –

ответ

3

Невозможно сделать это за 1 шаг. Вы должны сделать это в цикле:

function remove_property(arr, property_name) 
{ 
    for (var i = 0; i < arr.length; i++) { 
    delete arr[i][property_name]; 
    } 
} 

remove_property(data, 'property1'); 

Или, может быть, вы можете поставить свою собственность в другой массив, а затем удалить этот другой массив напрямую.

var property1 = []; 
for (var i = 0; i < data.length; i++) { 
    property1[i] = something; 
} 
... 
delete property1; // 1 step 
+0

Мне это не нужно. прочитайте, пожалуйста, конец моего вопроса – koubin

+1

Я знаю, это было не для вас на самом деле. Я предполагаю, что для вас ответ: нет способа сделать это за один шаг. – donkeydown

+0

, если вы ответите так, я дам вам «принятый ответ» – koubin

Смежные вопросы