我在两个用户之间有一系列消息,比如私人聊天。用户 A 可以与用户 B、C 和 D 进行 2-3 次聊天。
现在我必须拆分这个数组并获得一个长度为 3 的数组(AB、AC、AD 之间的消息)。为此,我使用以下代码:
var gloabal = [];
var myArray = [];
function splitArray () {
alert("Split");
var oldArray = myArray;
var newArray = [];
var object = oldArray[0];
var daUtente = object.get("daUtente");
var aUtente = object.get("aUtente");
for (var i = 0; i < myArray.length; i++) {
var obj = myArray[i];
var newDaUtente = obj.get("daUtente");
var newaUtente = obj.get("aUtente");
if ((newDaUtente == daUtente) && (newaUtente == aUtente) ||
(newDaUtente == aUtente) && (newaUtente == daUtente)) {
newArray.push(obj);
oldArray.splice(i, 1);
}
var lastObj = myArray[myArray.length - 1];
if (obj == lastObj){
gloabal.push(newArray);
newArray = [];
if(oldArray.length != 0) {
myArray = oldArray;
splitArray ();
}
else {
myArray = gloabal;
alert("end");
}
}
}
}
此逻辑适用于 iPhone 应用程序,但使用 Javascript 我有一些问题。我认为原因是我对 Javascript 的了解不足。你能帮我改正错误吗?我认为问题出在:
else {
myArray = gloabal;
alert("end");
}
因为我没有看到“结束”警报!
示例:数组:
1 - user A - user B - message
2 - user B - user A - message
3 - user A - user B - message
4 - user A - user B - message
5 - user A - user C - message
6 - user C - user A - message
7 - user A - user D - message
我想要这个:数组 1
1 - user A - user B - message
2 - user B - user A - message
3 - user A - user B - message
4 - user A - user B - message
数组 2
1 - user A - user C - message
2 - user C - user A - message
数组 3
1 - user A - user D - message
newArray = [数组 1,数组 2,数组 3]