我正在使用for x in循环来检查[=]的值是否==,如果是,则使用remove删除该属性,但似乎不起作用。
template<typename T>
class vec {
public:
T iterator;
};
答案 0 :(得分:1)
您很接近,但是您还需要为每个对象键值引用数组索引。在下面的代码中对此进行解释的注释。
var obj = { online:[],
offline:[],
away:[] };
for(var x in obj){
if(!obj[x][0]){ // The 0 is the index inside the online array, next loop it will be the offline array and then the away array.
console.log('The array is empty');
// Do what you want to do now that it is empty
// This will continue to loop through and check the value of all the keys in the object.
}
}
console.log('done');
祝你好运- 米奇来自 https://spangle.com.au
答案 1 :(得分:0)
使用一些调试(仅测试例如console.log是否被打印),您会发现if条件永远都不成立。
这是因为您测试一个数组是否等于一个新创建的空数组。永远不会这样,因为对象是通过对象引用而不是值来比较的。
相反,您可能想通过执行'if(obj [x] .length === 0)'(或更短的时间:'if(!obj [x] .length)')来测试数组是否为空