js集合,js集合删除某个元素
js怎么判断两个集合中是否含有相等的元素去除相同元素
script
var a = [1,3,5,4,8];
var b = [5,4,3,1,8];
//var a = ["我","你","他","她","它"];
//var b = ["他","我","它","你","她"];
a.sort();
b.sort();
if(a.join() == b.join()){
alert("ok\na:" + a.join() + "\nb:" + b.join());
}else{
alert("no");
}
/script
如果数组包含对象。那么,只能双循环来判断了。
for(var i = 0; i a.length; i++){
for(var j = 0; j b.length; j++){
//...
}
}
js数组方法——找出两数组中不相同的元素的集合
平时需求中经常遇到,找出两数组中不相同的部分。有时候会要找出被删除的元素。
indexOf是找出数组中元素第一次出现的位置。
lastIndexOf是找出数组中元素最后出现的位置。
假如两个数组合并后,重复的元素出现两次,indexOf和lastIndexOf的值是不一样的,反之,如果元素不是重复元素,那么,indexof和lastIndexOf值是一样的。
reduce()方法为归并类方法,最常见的应用场景就是,计算数组中每一项的总和。
reduce()方法会遍历数组的每一项,它接收两个参数:
第一个参数是:每次遍历都会调用的函数,而这个函数又接收四个参数,分别为:前一个值、当前项、项目的索引和数组对象,
而这个函数的返回值,会传给下一次遍历时,执行的这个方法的第一个参数。
第二个参数是:归并基础的初始值。
总结:
1.当reduce()方法的第二个值为空时,第一次循环方法中的第一个参数(prev)为数组的第一项值,第二个参数(cur)为数组的第二项值,反之,第一次循环方法中的第一个参数(prev)为reduce的第二个参数值,第二个参数(cur)为数组的第一项值。
2.reduce方法的第一个参数,就是每次遍历都会执行的匿名函数,当前函数的返回值会传给下一次执行函数的第一个值。也就是prev
js中如何把list集合循环
paramCheckList是一个集合,在页面可以这样获取:
s:hidden id="paramCheckListId"
value="%{@org.apache.struts2.json.JSONUtil@serialize(paramCheckList)}"/s:hidden
js代码:
var pList=$("#paramCheckListId").val();
var listData=$.parseJSON(pList);//解析json字符串
??? $.each(listData,function(idx,item){ //循环对象取值
?? ??? ??? ??? ??? ??? alert(item.name);
?? ??? ??? ?? });
如何在js中遍历list集合后存入二维数组
list集合中如果封装的是如字符串或者基本数据类型的数据,则可以通过list.toArray()转换成数组传到JS中读取,如果list集合中保存的是对象,则将对象转换成JSON类型的字符串保存在list集合中,在JS中读取时,先读取到字符串,再将字符串转换为JSON对象处理就行了。
javascript 如何创建一个list
很简单的一个使用:点击菜单,能够显示下面的或者不显示
1,主要目的:: 展现的是的一个菜单项,然后点击一下,隐藏,点一下,弹出下面的内容
用到的是 overflow:hidden ? ?和 ?overflow="visible"这两个属性 在点击的function中,设置属性应该node.style.overflow="visible";当然设置tr的高度也是很重要的,要恰好让其他的选项隐蔽。
2,采用同样的技术,多加几个,但是就是传参数比较麻烦,采用this传参很常用
具体代码如下。
!DOCTYPE?html
html
head
!--?1,主要目的::?展现的是的一个菜单项,然后点击一下,隐藏,点一下,弹出下面的内容
用到的是?overflow:hidden????和??overflow="visible"这两个属性?在点击的function中,设置属性应该
node.style.overflow="visible";
2,采用同样的技术,多加几个,但是就是传参数比较麻烦
--
titlelist.html/title
!--link?rel="stylesheet"?type="text/css"?href="./styles.css"--
style?type="text/css"
dl{
height:18px;/*优先级问题,必须要写*/
overflow:hidden;
}
dd{
margin:0px;
padding:0px;
}
.close{
height:18px;/*优先级问题,必须要写*/
overflow:hidden;
}
.open{
height:80px;
overflow:visible;
background-color:#ff8000;
}
/style
script?type="text/javascript"
function?click2(node1){
//??????????????????????alert("aa"+node.nodeName);//?td
var?nodes=node1.parentNode;
//??????????????????????alert(nodes.nodeName);
//??alert("aa"+nodes.className);
//※※通过传进的对象?判断采用哪种css模式
if(nodes.className=="open"){
nodes.className="close";
}else{
nodes.className="open";
}
}
/script
/head
body
!--层次列表--
!--当很多时候采用传参就很麻烦,每个都需要去传参
dl
dt?onclick="click1(0)"菜单条1/dt
dd菜单1/dd
dd菜单2/dd
dd菜单3/dd
dd菜单4/dd
/dl
dl
dt?onclick="click1(1)"菜单条2/dt
dd菜单11/dd
dd菜单22/dd
dd菜单33/dd
dd菜单44/dd
/dl
dl
dt?onclick="click1(2)"菜单条3/dt
dd菜单12/dd
dd菜单23/dd
dd菜单34/dd
dd菜单45/dd
/dl
--
br/
br/
hr/
!--dl?class="close"先手动采用css测试,可以然后采用编程使用--
dl
dt?onclick="click2(this)"1菜单条1/dt
dd菜单1/dd
dd菜单2/dd
dd菜单3/dd
dd菜单4/dd
/dl
dl
dt?onclick="click2(this)"2菜单条2/dt
dd菜单11/dd
dd菜单22/dd
dd菜单33/dd
dd菜单44/dd
/dl
dl
dt?onclick="click2(this)"3菜单条3/dt
dd菜单12/dd
dd菜单23/dd
dd菜单34/dd
dd菜单45/dd
/dl
/body
/html
js判断是对象还是集合
首先检查页面是否有错误,是否出现xxx未定义的情况然后可以alert下,例如:var student = new function(){ this.id = "01"; this.name="aa"; } alert(student); alert(student.id);如果是[object Object],说明存在如果是undefined或null则说明不存在。也可以使用js断点调试工具,跟踪调试,比如firebug