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"
分享到:
相关推荐
2. 可以使用for/in循环遍历对象的所有属性,但有时需要排除原型链上继承的属性。可以通过`hasOwnProperty()`方法来判断属性是否为对象自身所有。 3. for/in循环可以遍历对象的属性名(key),如果需要获取属性值...
- **遍历对象属性**:通过`for...in`循环遍历对象的可枚举属性。 ```javascript const obj = { name: 'John', age: 30 }; for (let prop in obj) { console.log(prop + ': ' + obj[prop]); } ``` - **无限循环**...
for in 循环是最基础的遍历对象的方式,它还会得到对象原型链上的属性 // 创建一个对象并指定其原型,bar 为原型上的属性 const obj = Object.create({ bar: 'bar' }) // foo 为对象自身的属性 obj.foo =
Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 。如果对象的键-值都不可枚举,那么将返回由键组成的数组。 这是...
遍历对象属性的方法主要有以下几种: 1. **for...in循环**: 这是最常用的遍历对象属性的方式。`for...in`循环会遍历对象的所有可枚举属性,包括其原型链上的属性。例如: ```javascript let obj = {name: '...
在本篇文章中,我们将深入探讨如何通过循环遍历DataSet中的数据表、行和列,并针对特定条件进行数据处理。此段代码示例虽然存在一些逻辑上的问题(例如语法错误和逻辑不清晰的地方),但可以作为基础来理解如何遍历...
在JavaScript编程语言中,`for...in`循环是一种遍历对象属性的语句。这个语法结构主要用于迭代对象的所有可枚举属性,包括那些从原型链继承的属性。在这个主题中,我们将深入探讨`for...in`的工作原理、使用场景、优...
首先,让我们看一个基本的`for...in`循环遍历对象属性的例子: ```javascript function CustomObject(name, value) { this.name = name || 'CustomeObject'; this.value = value || 0; this.toString = function...
然而,JavaScript的对象属性并没有天然的顺序,这可能导致在遍历时显示的顺序与预期不符。本篇文章将详细介绍如何解决Vue中遍历对象显示顺序不正确的问题。 首先,我们需要理解问题的背景。假设我们有一个日期字符...
总结来说,JavaScript的`for/in`循环是用于遍历对象属性的强大工具,但需要注意的是,它会枚举对象的所有可枚举属性,包括那些非数组元素的属性。在处理数组时,如果只需要遍历索引对应的值,应使用传统的`for`循环...
for…in 语句用于对数组或者对象的属性进行循环操作。 for (变量 in 对象) { 在此执行代码 } 这里的“变量”用来指定变量,指定的变量可以是数组元素,也可以是对象的属性。 举个例子: <!DOCTYPE html> <...
在JavaScript中,遍历对象属性是一项基础且常用的操作,它涉及到对对象的深入理解和动态操作。本篇文章将详细讲解如何遍历JavaScript对象的属性,并通过示例代码展示具体的应用。 首先,JavaScript提供了多种遍历...
4. 如果对象的属性是访问器属性而非数据属性,使用常规for...in循环可能会忽略它们。应使用Object.getOwnPropertyNames和Object.getPrototypeOf递归获取所有属性。 总之,深度拷贝是JavaScript中处理复杂数据结构的...
除了`for...in`循环,还有其他几种遍历对象属性的方法: **1. `Object.keys()`** 这个方法返回一个包含对象所有可枚举属性名称的数组。可以配合`forEach()`或其他数组方法来遍历这些属性。例如: ```javascript ...
`for...in`循环是用来遍历对象的所有可枚举属性,包括那些从原型链继承来的属性。这种循环方式会为每个可枚举属性执行一次循环体内的代码,不论这些属性是来自对象本身还是其原型。例如,如果一个对象通过原型链继承...
1. `for...in`循环:这是最常用的遍历对象属性的方法。它会遍历对象的所有可枚举属性,包括从原型链继承的属性。例如: ```javascript let obj = {a: 1, b: 2, c: 3}; for(let key in obj) { console.log(key + ...
这个简单的示例展示了如何利用for循环遍历一个对象数组,并访问其中对象的属性。这种技术在处理类似数据结构时非常有用,尤其是在需要对数据进行展示或进一步处理的情况下。 除了for循环之外,JavaScript还提供了...
for/in循环是JavaScript中最基本的遍历对象属性的方法。它会遍历对象自身以及其原型链上的可枚举(enumerable)属性。这意味着如果一个属性是从原型对象继承来的,只要它是可枚举的,for/in循环就会访问到它。以下...