我有这个对象:
var data = {"id": 1, "second": "abcd"};
这些是表单中的值。我将此传递给函数进行验证。
如果上述属性存在,我们可以使用data["id"]
和data["second"]
获取其值,但有时,根据其他值,属性可能会有所不同。
如何从data
获取与属性名称无关的值?
答案 0 :(得分:73)
要在不知道这些属性名称的情况下访问对象的属性,可以使用for ... in
循环:
for(key in data) {
if(data.hasOwnProperty(key)) {
var value = data[key];
//do something with value;
}
}
答案 1 :(得分:43)
如果您想在一行中执行此操作,请尝试:
Object.keys(a).map(function(key){return a[key]})
答案 2 :(得分:31)
在ES2017中,您可以使用Object.values()
:
Object.values(data)
在撰写本文时,支持是有限的(FireFox和Chrome)。除了IE之外的所有主要浏览器都支持此功能。
在ES2015中,您可以使用:
Object.keys(data).map(k => data[k])
答案 3 :(得分:10)
如果您定义了<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context"
xmlns:jee="http://www.springframework.org/schema/jee" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.2.xsd
http://www.springframework.org/schema/jee
http://www.springframework.org/schema/jee/spring-jee-3.2.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd">
,那么您可以迭代
$
您可以通过以下方式访问它:如果您知道键的值
var data={"id" : 1, "second" : "abcd"};
$.each(data, function() {
var key = Object.keys(this)[0];
var value = this[key];
//do something with value;
});
或
data.id
答案 4 :(得分:5)
对不起,你的结论性问题不是很清楚,但从第一行开始你就错了。可变数据是 对象 而不是 数组
访问对象的属性非常简单:
alert(data.second);
但是,如果这还没有完全回答你的问题,请澄清并发回。
谢谢!
答案 5 :(得分:4)
使用lodash sudo apt-get install ruby-dev
_.values(object)
_.values({"id": 1, "second": "abcd"})
[ 1, 'abcd' ]
包含一大堆其他函数,用于处理数组,对象,集合,字符串以及希望构建到JavaScript中的更多功能(实际上似乎正在慢慢制作)他们进入语言的方式)。
答案 6 :(得分:-19)
使用
的console.log(可变)
如果您使用google chrome打开控制台,请使用Ctrl + Shift + j
转到&gt;&gt;控制台