Javascript 错误:未捕获类型错误:无法读取属性';价值';未定义的
Javascript 错误:未捕获类型错误:无法读取属性';价值';未定义的,javascript,arrays,Javascript,Arrays,myData字符串的值在 var myData = '[["absa",1447842600000,1492],["amer",1447842600000,8698],["apac",1447842600000,8361],["emea",1447842540000,70406],["odc",1447842660000,0]]'; $(document).ready(function () { var myData = new Array(); for (i in myDat
myData
字符串的值在
var myData = '[["absa",1447842600000,1492],["amer",1447842600000,8698],["apac",1447842600000,8361],["emea",1447842540000,70406],["odc",1447842660000,0]]';
$(document).ready(function () {
var myData = new Array();
for (i in myData) {
var item = myData[i];
var key = item[0];
var value = [item[1], item[2]];
var index = getElementindex(key);
if (index != -1) {
var element = finalArr[index];
element.value.push(value);
} else {
var newArr = new Array();
var element = {
key: "",
value: ""
};
element.key = key;
newArr.push(value);
element.value = newArr;
finalArr.push(element);
}
}
function getElementindex(key) {
for (i in finalArr) {
if (finalArr[i].key == key) return -i;
}
console.log(JSON.stringify(finalArr));
}
});
要将字符串转换为JSON对象,请使用
var myData = new Array();
试试这个,eval()将字符串解析为JS中的实际数组
myData = JSON.parse(myData);
变量mstdta=['A',453627726262,10],'A',453627726262,5],'B',453627726262,10],'B',453627726262,0],'C',453627726262,10],'C',453627726262,70];
$(文档).ready(函数(){
var myArray=新数组();
用于(mstdta中的i){
var项目=mstdta[i];
变量键=项目[0];
变量值=[项目[1],项目[2]];
var索引=getElementIndex(键);
如果(索引!=-1){
var元素=myArray[索引];
元素.value.push(值);
}否则{
var newArr=新数组();
var元素={key:,value:};
元素。键=键;
新到达推力(值);
element.value=newArr;
myArray.push(元素);
}
}
函数getElementIndex(键){
for(myArray中的j){
if(myArray[j].key==key)
返回j;
}
返回-1;
}
log(JSON.stringify(myArray));
});
期望的是什么?什么不起作用?为什么myData
被重新初始化为空数组?想法是将数组重新构造为首选JSON
$(document).ready(function() {
var myData = new Array();
myDataString = '[["absa",1447842600000,1492],["amer",1447842600000,8698],["apac",1447842600000,8361],["emea",1447842540000,70406],["odc",1447842660000,0]]';
myData = eval(myDataString);
// code goes here
<script>
var mstdta=[['A',453627726262,10],['A',453627726262,5],['B',453627726262,10],['B',453627726262,0],['C',453627726262,10],['C',453627726262,70]];
$(document).ready(function() {
var myArray = new Array();
for(i in mstdta){
var item=mstdta[i];
var key=item[0];
var value=[item[1],item[2]];
var index=getElementIndex(key);
if(index!=-1){
var element=myArray[index];
element.value.push(value);
}else{
var newArr=new Array();
var element={key:"",value:""};
element.key=key;
newArr.push(value);
element.value=newArr;
myArray.push(element);
}
}
function getElementIndex(key){
for(j in myArray){
if(myArray[j].key==key)
return j;
}
return -1;
}
console.log(JSON.stringify(myArray));
});
</script>