upsertMap
Что такое Map в JavaScript?
upsertMapMapObject
Отсутствие прототипов : В отличие от Object, у Mapнет прототипов, поэтому он не содержит встроенных ключей, пока вы их не добавите. : В Ключи любого типа Mapключом может быть что угодно — от примитивов до функций и объектов. : `Карта Порядок вставки Mapзапоминае : Количе Легкий доступ к размеру Mapможно легко получить с помощью свойства size. Итерируемость : Mapявляется итерируемым, что упрощает его использование в циклах и других конструкциях. показывает : MapПроизводительность Object.
Создание и использование Map
Map
let example = new Map();
example.set('test', 'value');
Теперь, если вы добавите элемент с уже существующим ключом, его значение будет перезаписано:
example.set('test', true);
Но что делать, если вам нужно добавить элемент только в том случае, если его еще нет, или обновить его значение, если элемент уже существует? Обычно это требует дополнительной проверки:
if (!example.has('test')) {
example.set('test', 'new value');
}
example.get('test').myFunctionForMessingWithThisKeyEntry();
upsert
Что такое upsert и как она работает?
upsertMap
upsert
Ключ элемента, который вы хотите проверить или добавить. Функция для существующего элемента — выполняется, если Функция для нового элемента — выполняется, если элемент не существует.
upsert
example
.upsert('test', undefined, () => 'new value')
.myFunctionForMessingWithThisKeyEntry();
test
example.upsert('test', old => old.someOperation(), undefined);
oldmap.get('test')someOperation()
Преимущества upsert
upsertMap
Текущий статус функции
upsertMap
Заключение
upsertMap







