javascript中經常使用的對象操做方法

Object.keys(obj) 返回對象的key組成的數組數組

返回一個全部元素爲字符串的數組,其元素來自於從給定的object上面可直接枚舉的屬性,不會返回原型上的方法。bash

const obj = {
	firstname:"John",
	lastname:"Doe",
	age:50,
	eyecolor:"blue"
};
console.log(Object.keys(obj))
['firstname', 'lastname', 'age', 'eyecolor'] //返回key組成的數組
複製代碼

Object.values(obj) 返回對象的value組成的數組spa

返回一個由value組成的數組,其元素是在對象上找到的可枚舉屬性值。code

const obj = {
	firstname:"John",
	lastname:"Doe",
	age:50,
	eyecolor:"blue"
};
console.log(Object.values(obj))
['John', 'Doe', 50, 'blue']   //返回value組成的數組
複製代碼

Object.assign() 能夠將源對象複製到目標對象中對象

Object.assign(target, ...sources)
target 爲目標對象,...sources 爲源對象(能夠爲多個對象)字符串

//  淺拷貝對象
const obj = {
	firstname:"John",
	lastname:"Doe",
	age:50,
	love:{
		color: "blue",
		sport: "football"
	}
};
const copy = Object.assign({}, obj);
console.log(copy) // 返回淺拷貝的對象,修該obj會同時修改copy的值


// 合併多個對象
const obj = {
	firstname:"John",
	lastname:"Doe",
	age:50,
	love:{
		color: "blue",
		sport: "football"
	}
};
const obj2 = { other: "cat" };
const obj3 = { car: "Benz" };

const  compose = Object.assign(obj, obj2, obj3); // 返回三個對象合併組成的對象,若有相同屬性則會被後續參數中具備相同屬性覆蓋。


// 深拷貝對象
const obj = {
	firstname:"John",
	lastname:"Doe",
	age:50,
	love:{
		color: "blue",
		sport: "football"
	}
};
const deepClone = JSON.parse(JSON.stringify(obj)); // 返回深拷貝的對象,修改obj不會影響該對象
複製代碼

Object.entries(obj) 返回對象的key和value組成的數組get

Object.entries(obj) 方法返回一個對象key和value鍵值對組成的數組原型

const obj = { foo: 'bar', baz: 42 };
console.log(Object.entries(obj));
// [["foo", "bar"], ["baz", 42]] 
複製代碼

obj.hasOwnProperty() hasOwnProperty 方法判斷對象中屬性是否存在string

const obj = {
	firstname:"John",
	lastname:"Doe",
	age:50,
	love:{
		color: "blue",
		sport: "football"
	}
};
console.log(obj.hasOwnProperty('love')) // true
複製代碼
相關文章
相關標籤/搜索