2015-03-25 5 views
-1
var names = {}; 

// PUTTING DATA TO tmpChatters output example is. 

[ { name: 'aaa', age: '', sex: 'man'}, 
    { name: 'bbb', age: '', sex: 'female'} ] 


function deleteFunction(currentName) { 

} 
deleteFunction('aaa'); 

Таким образом, должно быть пустым, где имена выражают имя внутри объекта. Как мне это сделать?Пустой массив при срабатывании функции

+1

Таким образом, вы не хотите, чтобы очистить массив, вы хотите, чтобы удалить объект, где '' name' является aaa', правильно? – PlantTheIdea

+0

Это правильно – Inna

+2

Можете ли вы показать нам, что вы пробовали? – dfperry

ответ

1

Попробуй как forEach();

names.forEach(function(a, b){ 
     if(curretNick === a.name){ 
      names.splice(b, 1); 
     } 
    }); 
1

Просто петля над ней и нарежьте объект из массива:

for(var i = yourArray.length; i--;){ 
    if(yourArray[i].name === currentName){ 
     yourArray.splice(i,1); 
     break; 
    } 
} 

должен дать вам то, что вы хотите. Если может быть несколько имен, которые соответствуют, просто удалите break, чтобы перебрать их все.

+0

Не должно быть 'yourArray = yourArray.slice (i, 1);'? –

+0

@ i-- спасибо да, исправлено – PlantTheIdea

+0

Это сделает весь объект пустым – Inna

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