0
Android手機上的SMS消息存儲在數據庫中,因此我提取了 並將它們存儲在JSON數組中。從JSON數組中提取數據並將它們存儲在二維數組中
我想通過地址(手機號碼)對SMS進行分組。
我想要創建的結構是一個二維數組,在第二個dimendsion(值爲0,matrix [index] [0])的每個第一個索引上存儲數字,在另一個值上是sms那個數字。
錯誤是,在存儲2個數字後,其他數字沒有被存儲,並且它們接收到的短信存儲在第二個數字數組中。
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var sms = {
'0' : {
'address' : '+1',
'body' : 'SMS1'
},
'1' : {
'address' : '+2',
'body' : 'SMS2'
},
'2' : {
'address' : '+1',
'body' : 'SMS3'
},
'3' : {
'address' : '+2',
'body' : 'SMS4'
},
'4' : {
'address' : '+3',
'body' : 'SMS5'
},
'5' : {
'address' : '+4',
'body' : 'SMS5'
}
};
var matrix = [];
var html = "";
var actualBODY = "";
var actualADDRESS ="";
var matrixDOneSize =0;
var matrixDTwoSize =0;
var indexOfValue =0;
var pinpoint =-10;
for(i in sms) {
if (sms.hasOwnProperty(i)) {
actualBODY = sms[i]['body'];
actualADDRESS = sms[i]['address'];
if(i==0){
matrix[0]=[];
matrix[0][0]=actualADDRESS;
matrix[0][1]=actualBODY;
}
else {
matrixDOneSize = matrix.length;
for(var j=0;j<matrixDOneSize;j++){
indexOfValue = matrix[j][0].indexOf(actualADDRESS);
if(indexOfValue>-1){
pinpoint = j;
}
}
if(pinpoint>-10) {
matrixDTwoSize = matrix[pinpoint].length;
matrix[pinpoint][matrixDTwoSize]=actualBODY;
}
else {
matrix[matrixDOneSize]=[];
matrix[matrixDOneSize][0]=actualADDRESS;
matrix[matrixDOneSize][1]=actualBODY;
}
}
}
}
var nexti = matrix.length;
html+="Total numbers ="+nexti;
for(var i=0;i<nexti;i++){
html+= "<ul>Mobile Number = "+ matrix[i][0];
var nextj = matrix[i].length;
var nrsms = nextj-1;
html+= "<li>Nr of SMS= "+nrsms+"</li>";
for(var j=1;j<nextj;j++){
html+= "<li>SMS = "+ matrix[i][j]+"</li>";
}
html+="</ul>";
}
document.getElementById("demo").innerHTML = html;
</script>
</body>
</html>
你只是想按'address'財產,總結他們的父母鍵和收集'sms'每個組名的項目,對不對? – RomanPerekhrest
@RomanPerekhrest是的,這就是我做的:)! –