Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从对象内部的数组中获取值_Javascript_Jquery - Fatal编程技术网

Javascript 如何从对象内部的数组中获取值

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',

这是代码。我想从“数据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',
        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);