|
|
|
@ -81,11 +81,20 @@ function getListData(lx, selectType) { |
|
|
|
|
if(getItem('sourceListSort','update') == 'name'){ |
|
|
|
|
jkdatalist = sortByPinyin(jkdatalist); |
|
|
|
|
} |
|
|
|
|
jkdatalist.sort((a, b) => { |
|
|
|
|
const stopA = a.stop ? 1 : 0; |
|
|
|
|
const stopB = b.stop ? 1 : 0; |
|
|
|
|
return stopA - stopB; |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
let i = 0, j = jkdatalist.length - 1; |
|
|
|
|
while (i < j) { |
|
|
|
|
// 如果当前元素需要移到末尾(即stop属性为1)
|
|
|
|
|
if ('stop' in jkdatalist[i] && jkdatalist[i].stop === 1) { |
|
|
|
|
// 交换i和j指向的元素
|
|
|
|
|
[jkdatalist[i], jkdatalist[j]] = [ajkdatalistrr[j], jkdatalist[i]]; |
|
|
|
|
// 缩小j的范围,因为刚换过来的j位置元素可能是stop: 1,需要再次检查
|
|
|
|
|
j--; |
|
|
|
|
} else { |
|
|
|
|
// 如果当前元素不需要移动,仅移动读取指针
|
|
|
|
|
i++; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
return jkdatalist; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|