私はオンラインとオフラインの時間を比較する時間が必要です。オンライン時間よりも多くのオフライン時間がある場合 - 今回は削除する必要があります。ユーザーにタイムラインがない場合 - このユーザーを削除する必要があります。回を経由する場合とsmažujは次のとおりです:このデータ構造からjs配列からデータを削除するには?
私はこの問題を抱えている「未定義」の値が残っている - [未定義、未定義]とし、この条件を満たすことができない -
if (user.connectionTimes.length === 0) {
delete users[id];
}
がどのようにIこの問題を解決します?
Iは、以下のコードを使用:
var users = [];
users[0] = {
userId: 1,
connectionTimes:
[
{onlineTime:30, offlineTime:70},
{onlineTime:50, offlineTime:75}
]
};
users[1] = {
userId: 2,
connectionTimes:
[
{onlineTime:80, offlineTime:70}
]
};
users[2] = {
userId: 3,
connectionTimes: []
};
for(var i=0; i<users.length; i++) {
for(var j=0; j<users[i].connectionTimes.length; j++) {
if(users[i].connectionTimes[j].onlineTime < users[i].connectionTimes[j].offlineTime) {
delete users[i].connectionTimes[j];
//EDIT - this work - users[i].connectionTimes.splice(j, 1);
//j--;
}
}
if(users[i].connectionTimes.length == 0) {
delete users[i];
//EDIT - this work - users.splice(i, 1);
//i--;
}
}
console.log(users);
どのように私は、この状態で「スプライス」この機能を使用していますか? 'if(connectionTime.onlineTime
Jenan
' user.connectionTimes.splice(i、1) '? – SLaks