如何在javascript中获取存储在数组对象中的值

时间:2016-03-13 17:35:45

标签: javascript jquery

我将值存储为动态获取的对象,现在我需要检索这些值,这是一个简单的问题,但我没有得到答案,所以我在这里问。

例如:

/* Adding values dynamically into array of saveData. */
at first :
id = 1
gettext = 'Y'
text = 'Hello world'
at second :
id = 2
gettext = 'N'
text = 'JavaScript'
etc....

我的代码:

var saveData = {};
var objterm = {};

objterm["valueID"] = id;
objterm["valueGot"] = gettext;
objterm["text"] = text;
saveData[id] = objterm; // Saving values in array...

我如何检索一个值,例如:say,saveData [1] - > gettext,text

// I tried the below to get value as
        var obj = _.find(saveData, function(obj) { return obj.id == id }); // did nt get values 

2 个答案:

答案 0 :(得分:0)

从您提供的代码saveDataobjterm都是简单对象,因此如果您想要从saveData的某个特定条目中检索特定数据,您需要做的就是:

saveData[id].valueGot

基于

objterm["valueID"] = id;
objterm["valueGot"] = gettext;
objterm["text"] = text;

答案 1 :(得分:0)

添加http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min.js后它正在运作 对于_.find& _.findWhere方法。

var saveData = {};
var objterm = {};

objterm["valueID"] = 1;
objterm["valueGot"] = 'Y';
objterm["text"] = 'javascript';
saveData[1] = objterm;

 var obj = _.find(saveData, function(obj) { return obj.valueID == 1 });
  var obj2 = _.findWhere(saveData, {valueGot: 'Y' });
 console.log(obj)
 console.log(obj2)

https://jsfiddle.net/anil826/7ay25qwu/