//去重
function unique(arr) {
if (!Array.isArray(arr)) {
console.log('type error!')
return
}
var array = [];
for (var i = 0; i < arr.length; i++) {
if (array .indexOf(arr[i]) === -1) {
array .push(arr[i])
}
}
return array;
}
var arr = [1,2,2,3,4]
console.log(unique(arr)) //[1,2,3,4]
//将一个数组等分成多个数组
function group(array, subGroupLength) {
//数组,一组有多少个数据
let index = 0;
let newArray = [];
while(index < array.length) {
newArray.push(array.slice(index, index += subGroupLength));
}
return newArray;
}
var arr = [1,2,3,4,5,6,7,8,9]
console.log(group(arr , 3)) //[1,2,3] [4,5,6] [7,8,9]
//删除数组中的某个元素
//数组对象定义一个函数
Array.prototype.indexOf = function (val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
//得到这个元素的索引,数组自己固有的函数去删除这个元素
Array.prototype.remove = function (val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
arrays.remove('要删除的元素');
//根据数组对象中某一相同的值来筛选数据
function sortArr(arr, str) {
var _arr = [],
_t = [],
// 临时的变量
_tmp;
// 按照特定的参数将数组排序将具有相同值得排在一起
arr = arr.sort(function(a, b) {
var s = a[str],
t = b[str];
return s < t ? -1 : 1;
});
if ( arr.length ){
_tmp = arr[0][str];
}
for (var i in arr) {
if ( arr[i][str] === _tmp ){
_t.push( arr[i] );
} else {
_tmp = arr[i][str];
_arr.push( _t );
_t = [arr[i]];
}
}
// 将最后的内容推出新数组
_arr.push( _t );
return _arr;
}
sortArr(data,"name")//筛选出data中name值相同的数据