1、object.entries()
object.entries() 可以把乙個物件的鍵值以陣列的形式遍歷出來,結果和for...in...一樣,但是不會遍歷原型屬性
例子a: ---傳入物件
const obj = ;console.log(object.entries(obj));
//[['foo', 'bar'], ['baz', 'abc']]
例子b: ---傳入陣列
const arr = [1, 2, 3];console.log(object.entries(arr));
//[['0', 1], ['1', '2'], ['2', '3']]
例子c: ---傳入包含物件的陣列
const arr1 = [, 2, 3];console.log(object.entries(arr1));
//[['0', ], ['1', '2'], ['2', '3']]
例子d: ---傳入全部是物件的陣列
const arr2 = [, , ];console.log(object.entries(arr2));
//[['0', ], ['1', ], ['2', ]]
例子e: ---傳入字串
const str = '123';console.log(object.entries(str));
//[['0', '1'], ['1', '2'], ['2', '3']]
例子f: ---傳入數字、浮點數
const num = 123;console.log(object.entries(num)); //
const float1 = 12.3;
console.log(object.entries(float1));
//
例子g: ---將object轉化為map
const obj2 = ;console.log(object.entries(obj2));
//[['foo', 'bar'], ['baz', 'abc']]
const map = new
map(object.entries(obj2));
console.log(map);
//map
2、object.assig
n(
target,source1,source2,...)
此方法只拷貝源物件的自身屬性,不拷貝繼承的屬性。
object.assign方法實行的是淺拷貝,而不是深拷貝。也就是說,如果源物件某個屬性的值是物件,那麼目標物件拷貝得到的是這個物件的引用。同名屬性會替換。object.assign只能進行值的複製,如果要複製的值是乙個取值函式,那麼將求值後再複製。
object.assign可以用來處理陣列,但是會把陣列視為物件。
const target = ;const source = };
console.log(object.assign(target, source));
//target } // 同名屬性會被覆蓋
target.fn.number = 2;
console.log(source)
//source } // 拷貝為物件引用
functionperson();
person.prototype.country = 'china';
var student = new
person();
student.age = 29;
const young = ;
object.assign(young,student);
//young // 只能拷貝自身的屬性,不能拷貝prototype
object.assign([1, 2, 3], [4, 5]) //把陣列當作物件來處理
//[4, 5, 3]
//
例子a: 合併物件
var first = ;var last = ;
var person =object.assign(first, last);
console.log(person);
/**/
例子b: 轉殖物件
var obj = ;var clone =object.assign({}, obj);
console.log(clone);
/**/
var test=null
;var test1=object.assign({},test);
console.log(test1);
/*{}
*/var test2=undefined;
var test4=object.assign({},test2);
console.log(test4);
/*{}
*/
3、object.create(prototype,descriptors)
var newobj = object.create(null, , shape:
});document.write(newobj.size + "
");/*
large
*/document.write(newobj.shape + "
");/*
round
*/document.write(object.getprototypeof(newobj));
/*null
*/
var firstline =;var secondline =object.create(object.prototype, ,
y: });document.write("first line prototype = " + object.getprototypeof(firstline));/*
first line prototype = [object object])
*/document.write("
");document.write("second line prototype = " + object.getprototypeof(secondline));/*
first line prototype = [object object]
*/
4、object.keys(obj) &&object.values(obj)
5、object.freeze() &&object.isfrozen()
Object類的常用方法彙總
hashcode 用於獲取物件的雜湊值,這個值的作用是檢索,具體的作用可以參考這裡 雜湊值相同的物件不一定equale equale 返回true的兩個物件一定相同。class package.name.在使用的時候要求在synchronize語句中使用 wait 用於讓當前執行緒失去操作許可權,當...
Object幾個方法
根據屬性名獲取屬性值 get後的字母必須是大寫字母的方法 getuid uid public static object getfieldvaluebyname string fieldname,object o object value method.invoke o,new object ret...
Object常用方法
1 clone方法 保護方法,實現物件的淺複製,只有實現了cloneable介面才可以呼叫該方法,否則丟擲clonenotsupportedexception異常。2 getclass方法 final方法,獲得執行時型別。3 tostring方法 該方法用得比較多,一般子類都有覆蓋。4 finali...