`

for/in 循环遍历对象的属性

 
阅读更多
for/in 语句循环遍历对象的属性。
js中获取key得到某对象中相对应的value的方法:obj.key
js中根据动态key得到某对象中相对应的value的方法有二:
一、var key = "name1";var value = obj[key];
二、var key = "name1";var value = eval("obj."+key);
详细出处参考:http://www.jb51.net/article/46953.htm

var obj={"name":"wjy","age":26,"sex":"female"};//定义一个object对象
var keys=[];//定义一个数组用来接受key
var values=[];//定义一个数组用来接受value
  for(var key in obj){
    keys.push(key);
    values.push(obj[key]);//取得value 
    alert(eval("obj."+key));//循环内逐一打印value值
    }
alert(obj.name);//wjy
alert("keys is :"+keys+" and values is :"+values);
//keys is : name,age,sex and values is : wjy,26,female 

使用 for in 循环遍历对象的属性时,原型链上的所有属性都将被访问:
Object.prototype.bar = 10;// 修改Object.prototype
var obj={"name":"wjy","age":26,"sex":"female"};//定义一个object对象  
var keys=[];//定义一个数组用来接受key  
var values=[];//定义一个数组用来接受value  
  for(var key in obj){  
    keys.push(key);  
    values.push(obj[key]);//取得value    
    }  
alert("keys is :"+keys+" and values is :"+values); 
//keys is : name,age,sex,bar and values is : wjy,26,female,10 

推荐总是使用 hasOwnProperty 方法, 这将会避免原型对象扩展带来的干扰:
function allpro(obj){
    var keys=[]; 
    var values=[];  
    for(var key in obj){ 
        //只遍历对象自身的属性,而不包含继承于原型链上的属性。
        if (obj.hasOwnProperty(key) === true){
            keys.push(key);  
            values.push(obj[key]); 
            }               
        }
    alert("keys is :"+keys+" and values is :"+values);  
}
Object.prototype.bar = 1;// 修改Object.prototype
var o={"name":"wjy","age":26,"sex":"female"};//定义一个object对象 
allpro(o);
//keys is : name,age,sex and values is: wjy,26,female


object对象没有length属性,那么获取object对象的length就可以通过遍历得到key值的数组的长度来获取啦~
keys.length;//"3"
分享到:
评论

相关推荐

    javascript中for/in循环及使用技巧

    2. 可以使用for/in循环遍历对象的所有属性,但有时需要排除原型链上继承的属性。可以通过`hasOwnProperty()`方法来判断属性是否为对象自身所有。 3. for/in循环可以遍历对象的属性名(key),如果需要获取属性值...

    for循环简单操作 数字的遍历

    - **遍历对象属性**:通过`for...in`循环遍历对象的可枚举属性。 ```javascript const obj = { name: 'John', age: 30 }; for (let prop in obj) { console.log(prop + ': ' + obj[prop]); } ``` - **无限循环**...

    JS 5种遍历对象的方式

    for in 循环是最基础的遍历对象的方式,它还会得到对象原型链上的属性 // 创建一个对象并指定其原型,bar 为原型上的属性 const obj = Object.create({ bar: 'bar' }) // foo 为对象自身的属性 obj.foo =

    JS中如何轻松遍历对象属性的方式总结

    Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。 这是...

    遍历指定对象所有的属性名称和值.rar

    遍历对象属性的方法主要有以下几种: 1. **for...in循环**: 这是最常用的遍历对象属性的方式。`for...in`循环会遍历对象的所有可枚举属性,包括其原型链上的属性。例如: ```javascript let obj = {name: '...

    循环遍历dataset

    在本篇文章中,我们将深入探讨如何通过循环遍历DataSet中的数据表、行和列,并针对特定条件进行数据处理。此段代码示例虽然存在一些逻辑上的问题(例如语法错误和逻辑不清晰的地方),但可以作为基础来理解如何遍历...

    JS for...in 遍历语句

    在JavaScript编程语言中,`for...in`循环是一种遍历对象属性的语句。这个语法结构主要用于迭代对象的所有可枚举属性,包括那些从原型链继承的属性。在这个主题中,我们将深入探讨`for...in`的工作原理、使用场景、优...

    js 遍历对象的属性的代码

    首先,让我们看一个基本的`for...in`循环遍历对象属性的例子: ```javascript function CustomObject(name, value) { this.name = name || 'CustomeObject'; this.value = value || 0; this.toString = function...

    JavaScript中“过于”犀利地for/in循环使用示例

    总结来说,JavaScript的`for/in`循环是用于遍历对象属性的强大工具,但需要注意的是,它会枚举对象的所有可枚举属性,包括那些非数组元素的属性。在处理数组时,如果只需要遍历索引对应的值,应使用传统的`for`循环...

    vue 解决遍历对象显示的顺序不对问题

    然而,JavaScript的对象属性并没有天然的顺序,这可能导致在遍历时显示的顺序与预期不符。本篇文章将详细介绍如何解决Vue中遍历对象显示顺序不正确的问题。 首先,我们需要理解问题的背景。假设我们有一个日期字符...

    JS for…in 遍历语句用法实例分析

    for…in 语句用于对数组或者对象的属性进行循环操作。 for (变量 in 对象) {  在此执行代码 } 这里的“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。 举个例子: <!DOCTYPE html> <...

    JS遍历对象属性的方法示例

    在JavaScript中,遍历对象属性是一项基础且常用的操作,它涉及到对对象的深入理解和动态操作。本篇文章将详细讲解如何遍历JavaScript对象的属性,并通过示例代码展示具体的应用。 首先,JavaScript提供了多种遍历...

    js代码-深度/广度优先遍历实现对象的深度拷贝

    4. 如果对象的属性是访问器属性而非数据属性,使用常规for...in循环可能会忽略它们。应使用Object.getOwnPropertyNames和Object.getPrototypeOf递归获取所有属性。 总之,深度拷贝是JavaScript中处理复杂数据结构的...

    js中遍历对象的属性和值的方法

    除了`for...in`循环,还有其他几种遍历对象属性的方法: **1. `Object.keys()`** 这个方法返回一个包含对象所有可枚举属性名称的数组。可以配合`forEach()`或其他数组方法来遍历这些属性。例如: ```javascript ...

    js代码-Object.keys 返回的数组里,只包含自身可迭代的属性; for in 遍历的对象属性,既有自身可迭代的属性,也有原型链上的属性。

    `for...in`循环是用来遍历对象的所有可枚举属性,包括那些从原型链继承来的属性。这种循环方式会为每个可枚举属性执行一次循环体内的代码,不论这些属性是来自对象本身还是其原型。例如,如果一个对象通过原型链继承...

    js遍历属性 以及 js prototype 和继承

    1. `for...in`循环:这是最常用的遍历对象属性的方法。它会遍历对象的所有可枚举属性,包括从原型链继承的属性。例如: ```javascript let obj = {a: 1, b: 2, c: 3}; for(let key in obj) { console.log(key + ...

    js简单遍历获取对象中的属性值的方法示例

    这个简单的示例展示了如何利用for循环遍历一个对象数组,并访问其中对象的属性。这种技术在处理类似数据结构时非常有用,尤其是在需要对数据进行展示或进一步处理的情况下。 除了for循环之外,JavaScript还提供了...

    JavaScript中遍历对象的property的3种方法介绍

    for/in循环是JavaScript中最基本的遍历对象属性的方法。它会遍历对象自身以及其原型链上的可枚举(enumerable)属性。这意味着如果一个属性是从原型对象继承来的,只要它是可枚举的,for/in循环就会访问到它。以下...

Global site tag (gtag.js) - Google Analytics