美文网首页
js 中遍历对象的方法

js 中遍历对象的方法

作者: wakeGIS | 来源:发表于2016-12-22 10:50 被阅读0次

包含原型链上的属性

  • for...in
var o = {name:"www",age:1};
o.__proto__.parent = "parent";
for(var item in o){
    console.log(o[item]);
}
// www、1、parent

不包含原型链上的属性

  • for...in
var o = {name:"www",age:1};
o.__proto__.parent = "parent";
for(var item in o){
    if (o.hasOwnProperty(item)) {
        console.log(o[item]);
    }   
}
// www、1
  • for...of
    利用 for...of 循环, 可以写出遍历任意对象的方法。 原生的JavaScript对象没有遍历接口, 无法使用 for...of 循环.
    1. 通过Generator函数objectEntries为它加上这个接口, 就可以用了
function* objectEntries(obj) {
      let propKeys = Reflect.ownKeys(obj);
      for (let propKey of propKeys) {
          yield [propKey, obj[propKey]];
      }
} 
let jane = { first: 'Jane', last: 'Doe' };
for (let [key, value] of objectEntries(jane)) {
console.log(`${key}: ${value}`);
} 
// first: Jane// last: Doe 
  1. 将Generator函数加到对象的 Symbol.iterator 属性上面。
function* objectEntries() {
    let propKeys = Object.keys(this);
    for (let propKey of propKeys) {
        yield [propKey, this[propKey]];
    }
} 
let jane = { first: 'Jane', last: 'Doe' };
jane[Symbol.iterator] = objectEntries;
 for (let [key, value] of jane) {
        console.log(`${key}: ${value}`);
} 
// first: Jane// last: Doe 
  • Object.keys
    Object.keys() 方法会返回一个由给定对象的所有可枚举自身属性的属性名组成的数组,数组中属性名的排列顺序和使用for-in
    循环遍历该对象时返回的顺序一致 (顺序一致不包括数字属性)(两者的主要区别是 for-in 还会遍历出一个对象从其原型链上继承到的可枚举属性)。
var o = {name:'wuerchang',age:1};
o.__proto__.parent = "parent";
Object.keys(o).forEach(k => console.log(o[k]));
// wuerchang、1

相关文章

  • js中数组对象去重的方法

    采用数组中的reduce方法,遍历数组,也是通过对象访问属性的方法 参考js中数组对象去重的方法

  • 79-对象遍历

    什么是对象的遍历对象的遍历就是依次取出对象中所有的属性和方法 如何遍历一个对象?在JS中可以通过高级for循环来遍...

  • js 中遍历对象的方法

    包含原型链上的属性 for...in 不包含原型链上的属性 for...in for...of利用 for...o...

  • 2018-07-25 学习总结

    1.js对象 造器函数内部定义对象的方法 循环遍历对象属性(for ....in 循环遍历键) 2.indexOf...

  • js 遍历对象方法

    【1】for in(获得可枚举的属性)(不含Symbol属性) 使用 for in 循环遍历对象的属性时,原型链上...

  • JS常用方法整理-遍历对象

    1. 简介 JS中经常需要对对象的属性进行遍历,下面我们来总结一下JS遍历对象属性的几种方法。 2. for......

  • JS遍历对象的方法

    1、使用Object.key遍历 let obj={'0':'a','1':'b','2':'c'}; ...

  • JavaScript中的for...in 、for...of、f

    初学javaScript的时候,我们总是容易混淆对于数组和对象的遍历方法。js中循环语句有forEach,for ...

  • js中对象的遍历

    在项目中对对象的遍历在所难免,现总结以下几种遍历对象的方法。假设我们有一个对象,var obj={name:'li...

  • js遍历与jQuery遍历

    js遍历与jQuery遍历 js遍历数组和对象 for... var demoArr = ['Javascript...

网友评论

      本文标题:js 中遍历对象的方法

      本文链接:https://www.haomeiwen.com/subject/jlbcvttx.html