手写indexof(手写借条)
sql语句拼接
sql语句拼接主要操作于有条件的的增加,删除,修改或查询,下面给你介绍一个条件查询的例子:
既然是拼接sql语句长度不一定,用StringBuffer修饰,而不用String
String name=request.getParameter("name");
String address=request.getParemeter("address");
StringBuffer sql = new StringBuffer();
sql.append("select * from Tuser as t where 1=1");
if(name!=null||!"".equals(name)){
sql.append(" and t.name like'%"+name+"%'");
}
if(address!=null||!"".equals(address)){
sql.append(" and t.address like'%"+address+"%'");
}
以上就是拼接sql语句,也就是说select * from Tuser as t where 1=1一定会执行,而后面两个会根据用户数据参数选择执行
我可是手写的啊,没有复制,明白了吗?不明了再问我,明白了就给分吧,嘿嘿
C#中的Datalist控件遍历问题
foreach(DataItem item in dlNews.Items)
{
TextBox MyBox5=item.FindControl("MyBox5") as TextBox;
Session["Allcontrolvalue"]=Session["Allcontrolvalue"].ToString()+MyBox5.Text;
}
手写的基本就是这个思路。
C#数组中,把相同的元素提取出来,放入另一个数组中
这个时候最好使用Liststring或ArrayList(system.collection).
使用数组也可以做出来。
另外,如果只是单个字符的还可以使用string来做。
下面只给出Liststring的求解办法。//空手写的,你自己去调试,不过一般没错的
string[] array=new string[]{ "7","4","7","1","4","1","5","2","5"}
Liststring strList0=new Liststring();//原始数据
Liststring strList1=new Liststring();//数组一,Array1
Liststring strList2=new Liststring();//数组二,Array2
for(int i=0;iarray.Length;i++)
{
strList0.Add(array[i]);//复制到原始集合中
}
for(int i=0;istrList0.Count;i++)
{
if(!strList1.Contain(strList0[i]))
{
//去掉重复的写入数组一
strList1.Add(strList0[i]);
}
}
//数组2的获取采用这样的算法,如果有相同的那么IndexOf和LastIndexOf的地址会不同因此可以这样写。
for(int i=0;istrList1.Count;i++)
{
if(strList0.IndexOf(strList1[i])!=strList0.LastIndexOf(strList1[i])){
strList2.Add(strList1[i]);
}
}
//如果是int类型只要把string改为int就行了。
//使用循环将值付给数组
JS查找数组指定元素
findIndex它会返回数组中满足提供的函数的第一个元素的索引,否则返回 -1
跟findIndex差不多,只不过是倒序查找
观察可以知道findIndex 和findLastIndex的实现原理基本相同,区别只在于查找顺讯,那么如何通过实现一个函数,通过不同的传参来判断是使用findIndex还是findLastIndex呢?
实现:
新的需求:如何在一个排好序的数组中找到 value 对应的位置,保证插入数组后,依然保持有序的状态?
比如: sortedIndex([10, 20, 30], 25); // 2
如果是有序数组,那我们就不采用遍历的形式,采用二分法
看上去不错,基本实现了我们的要求,但还不够好,如果我想实现下面这种情况要怎么处理?
进阶实现:
现在尝试手写一个indexOf/lastIndexOf
indexOf和lastIndexOf都支持第二个参数fromIndex表示开始查找的位置。
在MDN上对fromIndex的解释如下:
fromIndex
开始查找的位置。如果该索引值大于或等于数组长度,意味着不会在数组里查找,返回-1。如果参数中提供的索引值是一个负值,则将其作为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,-2表示从倒数第二个元素开始查找 ,以此类推。 注意:如果参数中提供的索引值是一个负值,并不改变其查找顺序,查找顺序仍然是从前向后查询数组。如果抵消后的索引值仍小于0,则整个数组都将会被查询。其默认值为0.
比如:
fromIndex
从此位置开始逆向查找。默认为数组的长度减 1(arr.length - 1),即整个数组都被查找。如果该值大于或等于数组的长度,则整个数组会被查找。如果为负值,将其视为从数组末尾向前的偏移。即使该值为负,数组仍然会被从后向前查找。如果该值为负时,其绝对值大于数组长度,则方法返回 -1,即数组不会被查找。
根据以上规则,我们实现第二版
主要围绕下面两点进行
根据以上要求,看下最终实现方法