Si vous êtes d'accord avec l'utilisation de la syntaxe ES6, je trouve que la façon la plus propre de le faire, comme indiqué ici et ici, est:
const data = {
item1: { key: 'sdfd', value:'sdfd' },
item2: { key: 'sdfd', value:'sdfd' },
item3: { key: 'sdfd', value:'sdfd' }
};
const { item2, ...newData } = data;
Maintenant, newData
contient:
{
item1: { key: 'sdfd', value:'sdfd' },
item3: { key: 'sdfd', value:'sdfd' }
};
Ou, si vous avez la clé stockée sous forme de chaîne:
const key = 'item2';
const { [key]: _, ...newData } = data;
Dans ce dernier cas, [key]
est converti en item2
mais puisque vous utilisez une const
affectation, vous devez spécifier un nom pour l'affectation._
représente une valeur à jeter.
Plus généralement:
const { item2, ...newData } = data; // Assign item2 to item2
const { item2: someVarName, ...newData } = data; // Assign item2 to someVarName
const { item2: _, ...newData } = data; // Assign item2 to _
const { ['item2']: _, ...newData } = data; // Convert string to key first, ...
Non seulement cela réduit votre fonctionnement à un seul revêtement, mais cela ne vous oblige pas non plus à savoir quelles sont les autres clés (celles que vous souhaitez conserver).