js数组的去重与降维
2015-06-09 10:50
537 查看
// 降维 $(document).ready(function(){ var shapes = [ [ [[0, 4], [0, 5], [1, 4], [1, 5]] ], [ [[0, 3], [0, 4], [0, 5], [0, 6]], [[0, 4], [1, 4], [2, 4], [3, 4]] ], [ [[0, 4], [1, 4], [1, 5], [2, 5]], [[0, 4], [0, 5], [1, 3], [1, 4]] ], [ [[0, 5], [1, 4], [1, 5], [2, 4]], [[0, 3], [0, 4], [1, 4], [1, 5]] ], [ [[0, 4], [1, 3], [1, 4], [1, 5]], [[0, 4], [1, 4], [1, 5], [2, 4]], [[0, 3], [0, 4], [0, 5], [1, 4]], [[0, 5], [1, 4], [1, 5], [2, 5]] ], [ [[0, 3], [0, 4], [0, 5], [1, 3]], [[0, 4], [0, 5], [1, 5], [2, 5]], [[0, 5], [1, 3], [1, 4], [1, 5]], [[0, 4], [1, 4], [2, 4], [2, 5]] ], [ [[0, 3], [0, 4], [0, 5], [1, 5]], [[0, 5], [1, 5], [2, 4], [2, 5]], [[0, 3], [1, 3], [1, 4], [1, 5]], [[0, 4], [0, 5], [1, 4], [2, 4]] ] ]; var shapes = [ [ [[0, 4], [0, 5], [1, 4], [1, 5],[0, 4], [0, 5], [1, 4], [1, 5]] ], [ [[0, 3], [0, 4], [0, 5], [0, 6],[0, 3], [0, 4], [0, 5], [0, 6]], [[0, 4], [1, 4], [2, 4], [3, 4],[0, 4], [1, 4], [2, 4], [3, 4]] ], [ [[0, 4], [1, 4], [1, 5], [2, 5],[0, 4], [1, 4], [1, 5], [2, 5]], [[0, 4], [0, 5], [1, 3], [1, 4],[0, 4], [0, 5], [1, 3], [1, 4]] ], [ [[0, 5], [1, 4], [1, 5], [2, 4],[0, 5], [1, 4], [1, 5], [2, 4]], [[0, 3], [0, 4], [1, 4], [1, 5],[0, 3], [0, 4], [1, 4], [1, 5]] ], [ [[0, 4], [1, 3], [1, 4], [1, 5],[0, 4], [1, 3], [1, 4], [1, 5]], [[0, 4], [1, 4], [1, 5], [2, 4],[0, 4], [1, 4], [1, 5], [2, 4]], [[0, 3], [0, 4], [0, 5], [1, 4],[0, 3], [0, 4], [0, 5], [1, 4]], [[0, 5], [1, 4], [1, 5], [2, 5],[0, 5], [1, 4], [1, 5], [2, 5]] ], [ [[0, 3], [0, 4], [0, 5], [1, 3],[0, 3], [0, 4], [0, 5], [1, 3]], [[0, 4], [0, 5], [1, 5], [2, 5],[0, 4], [0, 5], [1, 5], [2, 5]], [[0, 5], [1, 3], [1, 4], [1, 5],[0, 5], [1, 3], [1, 4], [1, 5]], [[0, 4], [1, 4], [2, 4], [2, 5],[0, 4], [1, 4], [2, 4], [2, 5]] ], [ [[0, 3], [0, 4], [0, 5], [1, 5],[0, 3], [0, 4], [0, 5], [1, 5]], [[0, 5], [1, 5], [2, 4], [2, 5],[0, 5], [1, 5], [2, 4], [2, 5]], [[0, 3], [1, 3], [1, 4], [1, 5],[0, 3], [1, 3], [1, 4], [1, 5]], [[0, 4], [0, 5], [1, 4], [2, 4],[0, 4], [0, 5], [1, 4], [2, 4]] ] ]; Array.prototype.dr = function(){ var that = this; // 不能给this赋值 for (var i = 0; i < that.length; i++) { if(that[i] instanceof Array){ that = that.slice(0, i).concat(that[i], that.slice(i+1)); i--; } } return that; }; console.log(shapes.dr()); console.log((function(list) { var shape = list.shift(); return list.length === 0 ? shape : $.merge(shape, arguments.callee(list)); })($.extend(true, [], shapes))); });
// 去重
Array.prototype.unique = function(){
var res = [], json = {}, i = 0, len = this.length;
for(; i < len; i++) {
if(!json[this[i]]) {
res.push(this[i]);
json[this[i]] = 1;
}
}
return res;
};
源自:http://yanzhihong23.iteye.com/blog/2042805
相关文章推荐
- JS~字符串长度判断,超出进行自动截取(支持中文)
- js Date对象的使用
- JS:window.onload的使用
- 全面理解面向对象的 JavaScript
- Javascript实现下拉菜单
- JavaScript中reduce()方法的使用详解
- JS中的Prototype
- 用:hover伪类代替js的hover事件
- JS计算字符串所占字节数
- js控制键盘按键(回车、空格
- 简介JavaScript中的push()方法的使用
- js 日期控件WdatePicker设置最小时间
- D3js-绘制SVG
- JavaScript中pop()方法的使用教程
- jsp基础
- JavaScript原型链和instanceof运算符的暧昧关系
- JavaScript 怪癖
- 在JavaScript中操作数组之map()方法的使用
- <a href="javascript:;" ></a>
- D3js-SVG简单初步