使用javascript从Array获取值

时间:2015-02-09 06:13:50

标签: javascript arrays

我将数据从mysql查询传递到数组并将其转换为javascript 这是显示如下

  

数据:{“0”:[{“问题”:“abc”,“答案”:“abc 123”},{“问题”:“xyz”,“答案”:“xyz 123”}],   “消息”: “成功”}

现在我想在一个变量中获取所有问题并在另一个变量中显示相关的FAQ_Answer并显示如

  

问题:abc   答案:abc 123

     

问题:xyz   答案:xyz 123

但问题是我不知道如何从数组中获取相关问题及其答案。

我尝试了所有方法,如data [0] [0]等,但它给了我undefined或[object,object]类型的输出。

2 个答案:

答案 0 :(得分:3)

你需要阅读一些关于javascript语法的文档:p。

在这种情况下,我们假设你有=:

var data = {"0":[{"Question":"abc","Answer":"abc 123"}]};

它是这样读的:data是一个对象,包含一个名为" 0"的单个键,它是对数组的引用。该数组包含一个条目。该条目是一个包含2个键的对象,"问题"和"答案",每个都是一个字符串。

所以,那说:

data // is the object
data[0] // references the array of questions, note that it is in fact data["0"]
data[0][0] // references the first entry in the array of questions
data[0][0].Question // contains the first question's text
data[0][0].Answer // contains the first question's answer

通常情况下,您可以创建一个代表您处理内容的变量,以便向阅读代码的用户明确说明,例如:

var first_question = data[0][0];

并使用之后的属性。

答案 1 :(得分:0)

以下是如何做到的:

var data = {Data:{"0":[{"Question":"abc","Answer":"abc 123"},{"Question":"xyz","Answer":"xyz 123 "}], "message":"Success"}};
var qaList = data.Data['0'];

// build HTML in div from questions and answers
var div = document.getElementById('qa');
for (var i = 0; i < qaList.length; ++i) {
    var qa = qaList[i];
    div.innerHTML += 'Question : '+qa.Question+' Answer : '+qa.Answer+'<br/>';
} // end for

http://jsfiddle.net/61uv7jnj/