push - добавление элемента в JS.А наоборот?

222
22 декабря 2017, 03:34

Как сделать чтобы элемент (объект) никогда не смог добавиться?например, в массив?

Answer 1

Можно заморозить массив:

const array = [1,2,3]; 
Object.freeze(array); 
console.log(array); 
 
array.push(4); // Cannot add property

Можно повесить на него Proxy, который не пустит какой-то конкретный элемент:

const four = 'You shall not pass!' 
 
const array = new Proxy(['one', 'two', 'three'], { 
  set: (target, property, value) => { 
    if(value === four) return false; 
    target[property] = value; 
    return true; 
  } 
}); 
 
array.push('something'); 
console.log(array); 
array.push(four); // trap returned falsish

READ ALSO
iOS Cordova app - Не работают ссылки href и tel: после публикации в AppStore

iOS Cordova app - Не работают ссылки href и tel: после публикации в AppStore

Добрый день! Разработал приложение на Apache Cordova, при запуске приложения из Xcode напрямую на устройстве, ссылки перехода на сайт(href://http) и кнопка...

261
Как сделать функцию на подобие .toString()

Как сделать функцию на подобие .toString()

Мне надо сделать функцию, которая выполняется с строкойТип "кек"

329
Как правильно обработать select

Как правильно обработать select

Доброго времени сутокВопрос такой

355
Работа с array.map

Работа с array.map

Как прописать, что если item равно noga, то мы заменяем предыдущее значениеТо есть в данном случае ruka станет другая строка Сделать это именно...

199