在javascript中将字符串作为参数传递
我创建了以下函数在javascript中将字符串作为参数传递,javascript,arrays,json,object,push,Javascript,Arrays,Json,Object,Push,我创建了以下函数 var jsonData = <?php echo $jsondata; ?>; var objectLength = <?php echo $lines; ?>; /*length of the object*/ var dataArray = []; var objectParser = {}; objectParser.getArrays =
var jsonData = <?php echo $jsondata; ?>;
var objectLength = <?php echo $lines; ?>; /*length of the object*/
var dataArray = [];
var objectParser = {};
objectParser.getArrays = function(jsonData, dataType) {
var i = 0;
stringName = dataType;
for (i = 0; i<=objectLength; i++) {
dataArray.push(jsonData[i].stringName);
}
return dataArray;
}
var timeStamp = objectParser.getArrays(jsonData,'timestamp');
console.log(timeStamp);
在代码中,我不知道为什么会发生这种情况。做
console.log(jsonData[0].timestamp)
工作正常
下面是json数据示例[{
“时间戳”:“12\/16\/2013 0:00”,
“curr_财产”:“7211”,
“当前财产成本”:“123”,
“day_财产”:“48”,
“日财产成本”:“281”,
“电流太阳能发电”:“4958”,
“curr_solar_导出”:“0”,
“太阳能发电日”:“33”,
“day_solar_导出”:“0”,
“curr_chan1”:“1964年”,
“curr_chan2”:“4958”,
“curr_chan3”:“289”,
“第1天”:“13”,
“第二天”:“33”,
“第三天”:“1”
},….]
无法读取未定义的属性“stringName”
表示上一个操作给出了未定义的值而不是对象
紧跟在.stringName
之前的操作是jsonData[i]
,因此该菜单指向一个JSON中不存在的索引
这可能是由于您的循环,它从0到objectLength
included。我会改变的
另外,@Satpal的答案也适用。
无法读取未定义的属性“stringName”
意味着前面的操作给出了未定义的值而不是对象
紧跟在.stringName
之前的操作是jsonData[i]
,因此该菜单指向一个JSON中不存在的索引
这可能是由于您的循环,它从0到objectLength
included。我会改变的
此外,@Satpal的答案也适用。使用
而不是
jsonData[i].stringName
尽管建议jsonData[i]
未定义。您访问该属性的方式不正确
编辑
也要注意使用条件i
而不是
jsonData[i].stringName
尽管建议jsonData[i]
未定义。您访问该属性的方式不正确
编辑
还要注意的是,objectLength的idatatype设置为number,console.log(jsonData[somerandomno].timestamp)也可以工作。有什么问题吗?@Bazinga777问题之一是你的索引上限被包括在内(≤), 另一个是对象属性访问的用法不正确。请再次阅读我们的两个答案。谢谢,问题在于objectlength的上限。objectlength的数据类型设置为number and console.log(jsonData[somerandomno].timestamp)同样有效。有什么问题吗?@Bazinga777问题之一是你的索引上限被包括在内(≤), 另一个是对象属性访问的不正确用法。请再次阅读我们的两个答案。谢谢,问题在于objectlength的上限。
jsonData[i].stringName