对数组中含特殊符号记录过滤并分组
来源:互联网 发布:射手 mac 字幕 编辑:程序博客网 时间:2024/06/11 04:39
有一个应用,在数组里面包含一些特殊的记录,这些特殊记录作为断开标志,断开的记录与相邻的记录又组成一个整体,调试代码如下,可以调整 status=-1 来观察一下的结果
<html>
<script>var a={key:1, status :1};//0
var a2={key:2,status:1};//1
var a3={key:3,status:1};//2
var a4={key:4,status:1};//3
var a5={key:5,status:1};//4
var a6={key:6,status:1};//5
var a7={key:7,status:1};//6
var a8={key:8,status:1};//7
var ay =[];
ay.push(a);
ay.push(a2);
ay.push(a3);
ay.push(a4);
ay.push(a5);
ay.push(a6);
ay.push(a7);
ay.push(a8);
var breakIndex = [];
for(var i=0;i<ay.length;i++ ){
if ( ay[i].status==-1){
breakIndex.push(i);
}
}
if ( breakIndex.length >0) {
for(var i=0;i<breakIndex.length;i++){
if ( (i-1) >= 0 ){
if ( (breakIndex[i - 1]+1) == breakIndex[i] ) {
continue;
}
console.info("["+ ( breakIndex[i - 1] +1 )+" : "+ ( breakIndex[i] -1 )+"]");
}
else{
console.info( "--2--" );
if ( breakIndex[0] != 0 )
console.info("[0 : "+ ( breakIndex[0]-1 ) +"]");
}
}
if( breakIndex[breakIndex.length-1] < (ay.length-1 )) {
console.info("["+ ( breakIndex[breakIndex.length-1]+1 ) +" : "+ (ay.length-1)+ "]");
}
} else {
console.info("[0 : "+ ( ay.length -1 )+"]");
}
</script>
<body>
</body>
</html>
一个真实的应用场景:在Extjs4 对store里面的数据进行分割
function createStore(container,datastore,beginIndex ,endIndex ) {
var rs = datastore.getRange( beginIndex ,endIndex ) ;
if ( rs ) {
var s = Ext.create('Ext.data.ArrayStore', { model : 'ShiftOutput'});
s.add(rs);
container.push( s );
}
}
var storeArray = [] ;
var breakIndex = [];
for(var i=0; i < store.data.items.length; i++ ){
if ( store.data.items[i].data['status'] == -1 ){
brakIndex.push(i);
}
}
if ( breakIndex.length > 0 ) {
for(var i=0;i<breakIndex.length;i++){
if ( (i-1) >= 0 ){
if ( (breakIndex[i - 1]+1) == breakIndex[i] ) {
continue;
}
createStore( storeArray , store, breakIndex[i-1]+1 ,breakIndex[i]-1 );
} else {
if ( breakIndex[0] != 0 ) {
createStore( storeArray , store, 0 , breakIndex[0]-1 );
}
}
}
if( breakIndex[ breakIndex.length - 1 ] < ( store.data.items.length - 1 ) ) {
createStore( storeArray , store, breakIndex[breakIndex.length-1]+1 , store.data.items.length-1);
}
} else {
createStore( storeArray , store, 0, store.data.items.length-1);
}
- 对数组中含特殊符号记录过滤并分组
- 在SQL Server2005/2008中对记录进行分组,并获得每组前N条记录
- 在SQL Server2005/2008中对记录进行分组,并获得每组前N条记录
- 在SQL Server2005/2008中对记录进行分组,并获得每组前N条记录
- PHP 字符串中特殊符号的过滤
- 算法:从数组中查找重复的元素并分组
- 记录一个java正则过滤特殊符号的方法
- 关于http url中特殊符号的记录
- BIRT报表中实现过滤和分组
- XML中对特殊符号的处理
- XML中对特殊符号的处理
- [原创]过滤器过滤特殊符号
- 过滤字符串中的特殊符号
- servlet特殊符号过滤 类
- 对集合中的对象分组,并排序
- SQL语句 对表按某几个字段分组,并生成组内记录数范围内的随机序号.
- C#程序中利用正则表达式对字符串分组并获取组值
- 去掉一个表中完全重复的记录,并得到一个不含重复记录的结果集
- 存储过程的小例子
- 查找.gz文件的某些行匹配情况
- tmux 快捷键 记录
- dfvdfv
- 如何才能提高Java Web性能?
- 对数组中含特殊符号记录过滤并分组
- 学习C/C++语言:用选择法对SIZE个整数由大到小顺序排序
- 代码中特殊的注释技术----TODO、FIXME和XXX的用处
- Java中抽象类和接口的区别
- Unity3d Console双击不再默认打开编辑器
- 0基础自学Android(一)
- Unity集成android插件
- 市科技局举办消防安全知识讲座
- iOS开发之邮件发送代码