1. Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,它将返回目标对象。
    语法: Object.assign(target, ...sources)
    参数: target目标对象。sources源对象。
 var obj = { a: 1 };
 var copy = Object.assign({}, obj);
 console.log(copy);        // { a: 1 }
2. Object.entries()返回一个数组,其元素是与直接在object上找到的可枚举属性键值对相对应的数组。属性的顺序与通过手动循环对象的属性值所给出的顺序相同。

(1).当键值为正常字符时,返回的键的值为字符串
var obj1 = {a:1,b:2};
var obj2 = Object.entries(obj1);
console.log(obj2) ; // [ ["a":1],["b":2] ]

(2).当键值为数字时,返回的键的值也是字符串
var obj = { 0: 'a', 1: 'b', 2: 'c' };
console.log(Object.entries(obj)); // [ ['0', 'a'], ['1', 'b'], ['2', 'c'] ]

(3).当键值的数字错乱无序时,它会将其排序后返回
var anObj = { 100: 'a', 2: 'b', 9: 'c' };
console.log(Object.entries(anObj)); //[["2","b"],["9","c"],["100","a"]]

3. Object.values()方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历(enumerable)属性的键值。
let obj = {
    'code': 123,
    'name': 'take',
    'ccc': function(){}
}
console.log(Object.values(obj)) // 【123,"take", f】
4. Object.keys()返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含 Symbol 属性)的键名
let obj = {
    'code': 123,
    'name': 'take',
    'ccc': function(){}
}
console.log(Object.keys(obj)) // ['code','name','ccc']
5. obj.hasOwnProperty(key)  返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。
let object1 = new Object();
object1.property1 = 42;
object1.hasOwnProperty('property1'); // true
object1.hasOwnProperty('toString'); // false
6.  for ... in
  var obj = {0:'a',1:'b',2:'c'}
  for(var i in obj){
    console.log(i,':',obj[i])
  }
  // 0:a
  // 1:b
  // 2:c  
 posted on 2022-07-17 16:22  久闻  阅读(692)  评论(0)    收藏  举报