Javascript 如何从对象内部的数组中获取值
这是代码。我想从“数据1”中获得“价值”,我如何才能实现它 架构['body'][0]['data1'][1]。值Javascript 如何从对象内部的数组中获取值,javascript,jquery,Javascript,Jquery,这是代码。我想从“数据1”中获得“价值”,我如何才能实现它 架构['body'][0]['data1'][1]。值 这很有效。thx.schema['body'][0]['data1'][0]。值和 var schema = { title: { label: 'xxxx', className: 'title' }, body: [ //Q1 {label: '1. x2', tag: 'radio',
这很有效。thx.
schema['body'][0]['data1'][0]。值
和
var schema = {
title: {
label: 'xxxx', className: 'title'
},
body: [
//Q1
{label: '1. x2', tag: 'radio',
data1 : [
{'value': '1', 'label': 'y'},
{'value': '2', 'label': 'n'},
],
},
]
}
只需像这样使用
schema.body[0].data1.map(a=>a.value)
。它们迭代data1
数组的所有值
var模式={
标题:{
标签:“xxxx”,
类名:“标题”
},
正文:[
//Q1
{
标签:“1.x2”,
标签:“收音机”,
数据1:[{
“值”:“1”,
“标签”:“y”
},
{
“值”:“2”,
“标签”:“n”
},
],
},
]
}
console.log(schema.body[0].data1.map(a=>a.value))
我不会给你家庭作业的答案,但这里有一种非常复杂的方法:
schema['body'][0]['data1'][1].value
如果您理解它,就可以获得额外的积分。尝试以下步骤,这应该会有所帮助
function getValue(obj, props){
if(!props.length) return [obj];
if(typeof obj !== "object") return [];
if(!obj) return [];
var values = [];
for(var key in obj){
var prop = props.slice();
if(key === props[0]){
prop.shift();
}
values = values.concat(getValue(obj[key], prop));
}
return values;
}
getValue(schema, ["data1", "value"]); // ["1", "2"]
示例代码:
1. First you need to change object into string
2. Use JSON.parse to get json object
3. From json object you can access any items like below sample
以下是工作示例代码:try
schema.body[0].data1[0].value
显示您已尝试的工作??
var text = '{"title":{"label":"xxxx","className":"title"},"body":[{"label":"1. x2","tag":"radio","data1":[{"value":"1","label":"y"},{"value":"2","label":"n"}]}]}';
obj = JSON.parse(text);
console.log(obj.body[0].data1[0].label);