function removeString(obj) {
var propertyArray = Object.values(obj); //make array of just properties
for(var i = 0; i < propertyArray.length; i++) {
if (typeof propertyArray[i] === "string") //find string
delete Object.keys(obj)[i]; //delete the key with the same index as the string
}
return obj;//return new object without string
}
var testObject = {size: 6, name: 'String', age: 20}
console.log(removeString(testObject)) //I want {size: 6, age: 20}
Я хочу, чтобы функция выше функции удаляла поле со значением string
вместо того, что возвращается, является исходным объектом.Удаление пары ключ/значение javascript по индексу
Кому-нибудь, кто это читает/желает помочь, за вас заранее!
Он использует много ненужного RESSOURCES. (Получите массив ключей для каждой итерации, которые могут быть дорогими). –
@ibrahimmahrir Я просто использую тот же код, что и OP, поэтому понятно, почему их код не работал и показывает, как его исправить. Да, есть лучшие способы сделать это, но я думаю, что это покажет им самое ясное, что было не так с их исходным кодом. –
Спасибо. Я знаю, что это не лучший способ добиться желаемого результата. Я знал, что близко, но не мог понять, что происходит не так. Я ценю помощь. –