Har*_*nan 60 javascript function object
我有这个对象:
var data = {"id": 1, "second": "abcd"};
Run Code Online (Sandbox Code Playgroud)
这些是表格中的值.我将此传递给函数进行验证.
如果存在上述属性,我们可以使用data["id"]和获取它们的值data["second"],但有时,基于其他值,属性可以不同.
如何从data独立的属性名称中获取值?
cfs*_*cfs 76
要在不知道这些属性的名称的情况下访问对象的属性,可以使用for ... in循环:
for(key in data) {
if(data.hasOwnProperty(key)) {
var value = data[key];
//do something with value;
}
}
Run Code Online (Sandbox Code Playgroud)
Ere*_*evi 45
如果您想在一行中执行此操作,请尝试:
Object.keys(a).map(function(key){return a[key]})
Run Code Online (Sandbox Code Playgroud)
tri*_*cot 36
在ES2017中,您可以使用Object.values():
Object.values(data)
Run Code Online (Sandbox Code Playgroud)
在撰写本文时,支持是有限的(FireFox和Chrome).除了IE之外的所有主流浏览器现在支持此
在ES2015中,您可以使用:
Object.keys(data).map(k => data[k])
Run Code Online (Sandbox Code Playgroud)
use*_*220 11
如果您$已定义,则可以迭代
var data={"id" : 1, "second" : "abcd"};
$.each(data, function() {
var key = Object.keys(this)[0];
var value = this[key];
//do something with value;
});
Run Code Online (Sandbox Code Playgroud)
您可以通过以下方式访问它:如果您知道键的值
data.id
Run Code Online (Sandbox Code Playgroud)
要么
data["id"]
Run Code Online (Sandbox Code Playgroud)
对不起,你的结论性问题不是很明确,但从第一行开始你就错了.变量数据是Object而不是Array
要访问对象的属性非常简单:
alert(data.second);
Run Code Online (Sandbox Code Playgroud)
但是,如果这不能完全回答您的问题,请澄清并发回.
谢谢 !