设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 重新 试卷 文件
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

如何在JavaScript中使用对象的方法(2)

发布时间:2019-04-24 03:38 所属栏目:21 来源:joking_zhang
导读:Object.entries() 创建对象的键/值对的嵌套数组。 //Initializeanobject constoperatingSystem={ name:'Ubuntu', version:18.04, license:'OpenSource' }; //Gettheobjectkey/valuepairs constentries=Object.entri

Object.entries() 创建对象的键/值对的嵌套数组。

  1. // Initialize an object  
  2. const operatingSystem = {  
  3. name: 'Ubuntu',  
  4. version: 18.04,  
  5. license: 'Open Source'  
  6. };  
  7. // Get the object key/value pairs  
  8. const entries = Object.entries(operatingSystem);  
  9. console.log(entries);  
  1. Output  
  2. [  
  3. ["name", "Ubuntu"]  
  4. ["version", 18.04]  
  5. ["license", "Open Source"]  
  6. ]  

一旦我们有了键/值对数组,我们就可以使用该forEach()方法循环并处理结果。

  1. // Loop through the results  
  2. entries.forEach(entry => {  
  3. const [key, value] = entry;  
  4. console.log(`${key}: ${value}`);  
  5. });  
  1. Output  
  2. name: Ubuntu  
  3. version: 18.04  
  4. license: Open Source  

Object.entries() 方法仅返回对象实例自己的属性,而不返回可通过其原型继承的任何属性。

Object.assign()

Object.assign() 用于把一个对象的值复制到另一个对象。

我们可以创建两个对象,使用Object.assign()方法将它们合并。

  1. // Initialize an object  
  2. const name = {  
  3. firstName: 'Philip',  
  4. lastName: 'Fry'  
  5. };  
  6. // Initialize another object  
  7. const details = {  
  8. job: 'Delivery Boy',  
  9. employer: 'Planet Express'  
  10. };  
  11. // Merge the objects  
  12. const character = Object.assign(name, details);  
  13. console.log(character);  
  1. Output  
  2. {firstName: "Philip", lastName: "Fry", job: "Delivery Boy", employer: "Planet Express"}  

也可以使用展开语法(Spread syntax)来完成相同的任务。在下面的代码中,我们将通过展开语法合并name和details对象,来声明character对象。

  1. // Initialize an object  
  2. const name = {  
  3. firstName: 'Philip',  
  4. lastName: 'Fry'  
  5. };  
  6. // Initialize another object  
  7. const details = {  
  8. job: 'Delivery Boy',  
  9. employer: 'Planet Express'  
  10. };  
  11. // Merge the object with the spread operator  
  12. const character = {...name, ...details}  
  13. console.log(character);  
  1. Output  
  2. {firstName: "Philip", lastName: "Fry", job: "Delivery Boy", employer: "Planet Express"} 

展开语法(Spread syntax) 在对象语法中也成为浅层克隆(shallow-cloning)。

Object.freeze()

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读