1. js内のオブジェクトの属性を削除する
1. 削除演算子を使用する
例:
1) ドット プロパティ アクセサーを使用して削除します。
delete object.property;
演算子がプロパティ アクセサーに適用されるとdelete
、演算子は対応するプロパティをオブジェクトから削除します。
const obj = {name: '十六个人博客',url: 'rwlok.com'};
delete obj.url;
console.log(obj); // { name: '十六个人博客' }
2) 角かっこプロパティ アクセサーを使用して削除します。
delete object['property'];// orconst name = 'dynamicProperty';
delete object[name];
delete
演算子を使用してプロパティを削除すると、元のオブジェクトが変更されるため、変更可能です。
削除するプロパティ名が動的に決定される場合は、角かっこ構文を使用できます。
const obj = { name: '十六个人博客', url: 'rwlok.com'};
const name = 'url';
delete obj[name];
console.log(obj); // { name: '十六个人博客' }
2.rest を使用してオブジェクトを分解する
1) プロパティ名がわかっている:
const { property, ...restObject } = object;
構造化とrest
構文を適用した後、削除された属性を除いて、同じ属性restObject
が含まれますobject
。
const obj= {
name: '十六个人博客',
url: 'rwlok.com'
};
const { url, ...objRest } = obj;
console.log(objRest); // { name: '十六个人博客' }
console.log(obj); // { name: '十六个人博客',url: 'rwlok.com' }
2) プロパティ名は動的です:
const name = 'property';
const { [name]: removedProperty, ...restObject } = object;
削除するプロパティ名が動的に決定される場合は、動的プロパティ名分解構文を使用できます。
const obj = { name: '十六个人博客', url: 'rwlok.com'};
const name = 'url';
const { [name]: removedProperty, ...objRest } = obj;
console.log(objRest); // { name: '十六个人博客' }
残りの構造メソッドでは、複数の属性を一度に削除することもできます。
const obj = {
name: '十六个人博客',
url: 'rwlok.com',
title: '卡卡测速网',
};
const { url, title, ...objRest } = obj;
console.log(objRest); // { name: '十六个人博客' }