[快速入门前端 52] JavaScript:Object 物件

Object 物件

阵列通常放的是较有相关性的资料,而物件则由多组 key (属性): value (属性名) 的格式组成,所以通常会包含各种类型的资料,其中 value 可以放入任何值,包含纯值、阵列、或甚至是另一个物件。
完整 Object 格式:

let ObjectName = {    key: value,    key: value}

宣告物件

// 宣告一个空的物件// 方法一:直接创建一个空物件 (常见)let object = {};// 方法二:利用建构式创建一个新物件let object = new Object();// 方法三:宣告 + 赋值,直接创建一个有值的物件let object = {name: 'amy', age: 18, gender: 'male'};

取出物件中的值

从物件中取值的方法有两种,第一种为 object.key 简单来说就是以物件和属性名 (key) 来找某个值,第二种方法则是 object['key'],通常用在无法直接使用 object.key 的情况,例如要以变数中的字串来当作属性名。
语法:

// 方法一object.key;// 方法二object[key];

範例:

let object = {    name: 'Amy',    age: 14,    gender: 'female'};console.log(object.name); // 'Amy'console.log(object['age']); // 14 (使用此方法时属性行需要加引号让 JS 知道它是字串)let text = 'gender';console.log(object[text]); // 'female' (以变数的值作为 key 去物件中寻找)

取出物件中所有值

当我们不确定一 object 有多少个属性 (key),或属性的名称为何时,可以先取得所有的 属性名 (key),再利用每个属性名取得该项的值,或者可以直接使用 Object.values() 取得所有的属性值。
语法:

// 取得物件中所有的 keyObject.keys(物件); // 会回传一个阵列// 取得物件中所有的 valueObject.values(物件);

範例:

let object = {    name: 'Amy',    age: 14,    gender: 'female'};console.log(Object.keys(object)); // ['name', 'age', 'gender']console.log(Object.values(object)); // ['Amy', 14, 'female']

迴圈枚举物件的 key

语法:

for (let 变数 in 物件名) {    // 每次迴圈变数的值就会是物件的 key};
let object = {    name: 'Amy',    age: 14,    gender: 'female'};for (let key in object) {    console.log(key); // 取得每一个 key    console.log(object[key]); // 用 key 取得每个值};

修改物件

Object 的新增和修改其实跟阵列差不多,可以直接以 object.key = 值 的方式加入或修改。

let object = {    name: 'Amy',    age: 14,    gender: 'female'};object.age = 11;console.log(object.age); // 11 (被修改)object.pet = 'dog'; // 加入新的属性 - petconsole.log(Object.keys(object)); // ['name', 'age', 'gender', 'pet']

删除物件属性

语法:

delete object.key;

範例:

let object = {    name: 'Amy',    age: 14,    gender: 'female'};delete object.name; // 删除 name 属性console.log(object); // {age: 14, gender: 'female'}

判断阵列是否包含某属性

Object 中,我们可以使用 in 来判断物件中是否包含某 key (属性),会回传一个 Boolean 值。
语法:

"key" in object;

範例:

let object = {    name: 'Amy',    age: 14,    gender: 'female'};console.log("name" in object); // trueconsole.log("name12" in object); // false

上一篇:[快速入门前端 51] JavaScript:Array 阵列 (2) 阵列值的新增、删除、修改和判断
下一篇:[快速入门前端 53] JavaScript:Function 函式 (1) 函式的种类
系列文章列表:[快速入门前端] 系列文章索引列表


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章