87,910
社区成员
发帖
与我相关
我的任务
分享
var data=[{id:123,pid:0,name:"第一家族爷爷"},{id:234,pid:0,name:"第二家族爷爷"},{id:234567,pid:2345,name:"第二家族孙子"},{id:345,pid:0,name:"第三家族爷爷"},{id:2345,pid:234,name:"第二家族儿子"},{id:3456,pid:345,name:"第三家族儿子"},{id:1234,pid:123,name:"第一家族儿子"},{id:34567,pid:345,name:"第三家族儿子"},{id:23456,pid:234,name:"第二家族儿子"},{id:12345,pid:1234,name:"第一家族孙子"}]
window.onload = function(){
let typeArr = ['爷爷','儿子','孙子']
let typeTranArr = ['grandpa','son','sonson']
let result = {
grandpa: [],
son: [],
sonson: []
}
data.forEach( item => {
typeArr.forEach((type, index) => {
if (item.name.indexOf(type) >= 0) {
result[typeTranArr[index]].push(item)
}
})
})
let newData = []
typeTranArr.forEach(item => {
newData = newData.concat(result[item])
})
console.log(newData)
}
var data=[{id:123,pid:0,name:"第一家族爷爷"},{id:234,pid:0,name:"第二家族爷爷"},{id:234567,pid:2345,name:"第二家族孙子"},{id:345,pid:0,name:"第三家族爷爷"},{id:2345,pid:234,name:"第二家族儿子"},{id:3456,pid:345,name:"第三家族儿子"},{id:1234,pid:123,name:"第一家族儿子"},{id:34567,pid:345,name:"第三家族儿子"},{id:23456,pid:234,name:"第二家族儿子"},{id:12345,pid:1234,name:"第一家族孙子"}]
var p = {"爷爷":3,"儿子":2,"孙子":1};
data.sort(function(a,b){
return p[b.name.slice(-2)]-p[a.name.slice(-2)];
});
alert(JSON.stringify(data,null,4));
function array_contain(array, obj){
for (var i = 0; i < array.length; i++){
if (array[i].name.indexOf(obj)>-1)//如果要求数据类型也一致,这里可使用恒等号===
return array[i];
}
return "";
}
sort(data);
console.log(sortData);
var data=[{id:123,pid:0,name:"第一家族爷爷"},{id:234,pid:0,name:"第二家族爷爷"},{id:234567,pid:2345,name:"第二家族孙子"},{id:345,pid:0,name:"第三家族爷爷"},{id:2345,pid:234,name:"第二家族儿子"},{id:3456,pid:345,name:"第三家族儿子"},{id:1234,pid:123,name:"第一家族儿子"},{id:34567,pid:345,name:"第三家族儿子"},{id:23456,pid:234,name:"第二家族儿子"},{id:12345,pid:1234,name:"第一家族孙子"}];
var sortData = new Array();
function sort(data){
var arry = array_contain(data,"爷爷");
if(arry !== ""){
sortData.push(arry);
data.splice($.inArray(arry, data), 1);
}else{
arry = array_contain(data,"儿子");
if(arry !== ""){
sortData.push(arry);
data.splice($.inArray(arry, data), 1);
}else{
arry = array_contain(data,"孙子");
if(arry !== ""){
sortData.push(arry);
data.splice($.inArray(arry, data), 1);
}else{
if(data.length>0){
sortData.push(data);
}
return;
}
}
}
sort(data);
};
function array_contain(array, obj){
for (var i = 0; i < array.length; i++){
if (array[i].name.i