Object方法彙總

2022-08-28 01:51:12 字數 3653 閱讀 7507

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 } // 拷貝為物件引用

function

person();

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...