Обновление свойств объекта с помощью элементов массиваJavascript

Форум по Javascript
Ответить
Anonymous
 Обновление свойств объекта с помощью элементов массива

Сообщение Anonymous »

У меня есть объект с вложенными свойствами. Я хочу обновить эти вложенные свойства, используя массив элементов, отражающих вложенную последовательность объекта. А если свойство не существует, добавьте его или обновите.
Это функцию, которую я пытался реализовать
function myFunction(myObject, ...myArrray) {

let value = myArrray.pop()

for (let i = 0; i < myArrray.length; i++) {
const element = myArrray
if (!myObject.hasOwnProperty(element)) {
if (i == myArrray.length)
myObject[element] = value
else
myObject[element] = {}
}
else {
myObject[element] = myObject[i + 1]
}
}
return myObject
}

const myLocalStorage = {
users: {
theme: 'westeros',
notifications: {
email: true,
push: {
infos: true
}
}
},
admins: {
// admin properties
}
}

Обновление свойства «электронная почта» (которое существует)

const array1 = ["users", "notification", "email", false]
myFunction(myLocalStorage, array1)

  • Добавление свойства «смс» (которого не существует)


const array2 = ["users", "notification", "sms", true]
myFunction(myLocalStorage, array2)


Подробнее здесь: https://stackoverflow.com/questions/798 ... y-elements
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»