项目中用的数组操作
:
var hasOwnProperty = Object.prototype.hasOwnProperty;
var Utils = cc.Class({
extends: cc.Component,
properties: {
},
statics: {
instance: null
},
/**
* 数组工具类
*/
addArray: function (arrays, data) {
if (arrays.push(data)) {
return true;
} else {
return false;
}
},
removeAt: function (arrays, index) {
if (arrays.splice(index,1)) {
return true;
} else {
return false;
}
},
removeSomeAt: function (arrays, index,i) {
if (arrays.splice(index,i)) {
return true;
} else {
return false;
}
},
searchArray: function (arrays, body, str) {
for (var i = 0; i < arrays.length; ++i) {
var data = arrays[i];
if (data === str || data[body] === str) {
return i;
}
}
return null;
},
removeAllArray: function (arrays) {
for (var i = 0; i < arrays.length; ++i) {
arrays.splice(i);
}
arrays = null;
},
isEmpty: function (obj) {
// 本身为空直接返回true
if (obj === null) return true;
// 然后可以根据长度判断,在低版本的ie浏览器中无法这样判断。
if (obj.length > 0) return false;
if (obj.length === 0) return true;
//最后通过属性长度判断。
for (var key in obj) {
if (hasOwnProperty.call(obj, key)) return false;
}
return true;
}
});
Utils.getInstance = function () {
if (Utils.instance == null) {
Utils.instance = new Utils();
}
return Utils.instance;
};