js对象,数组,字符串的操作
循环绑定=>变量污染
for (var i = 0;i<lis.length;i++){
lis[i].index = i;#给页面元素对象添加一个任意属性(保留索引的属性index)
#循环绑定时,i分别是0,1,2,3,也就是给每个li进行事件的绑定,在绑定时,没有执行事件内部代码,只有在激活事件时才会执行,当循环结束后,i变为4(length为4),激活事件时,i已经变为4,console.log(i)打印的都是4
lis[i].onclick = function(){
console.log(this.index)
console.log(this.innerText)
}#this就能唯一指向当前激活事件的那个li对象
}
对象(字典)的增删改查
var dict = {
a:"AAA";
b:"BBB";
}
查:console.log(dict.a);
改:dict.a = "AAAAA";
增:dict.c = "CCC";
删:delete dict.b;
总结:只要是js对象,就可以随意添加属性
随机数
得到区间[min,max]之间的正整数
fun rnum(min,max){
return parseint(Math.random()*(max - min +1)) + min;
}
字符串操作
1.指定索引下的字符
var s="abcdef123456呵呵哈哈";
console.log(s.charAt(3));
2.判断是否存在:呵呵是否在字符串中
-1代表不存在,其他表示存在
console.log(s.indexof("呵"));
console.log(s.lastIndexOf("呵"));
3.替换
var news = s.replace("abc","ABC");
总结:字符串为不可变类型,如果某操作要改变字符串,该操作一定拥有返回值
不存在的时候,不会报错
4.裁剪 slice(n,m)顾头不顾尾
news = s.slice(0,3); #取 0,1,2
5.拆分 数组
var ss = "123 456 abc def";
var arr1 = ss.split()#不写参数把整体当一个字母
var arr = ss.split("");#啥也不写,将字符串按一个个字符拆分
数组操作
var arr = [3,5,1,2,4];
1.反转
arr.reverse()
可变类型,被反转过来了
2.排序
arr.sort()#默认顺序从小到大
arr.reverse()#从大到小排了
3.判断元素是否存在
arr.indexof(5)
4.拼接成字符串
var ss = arr.join(@);#与字符串的split方法相对
5.过滤器(保留符合条件的结果)
var newArr = arr.filter(function(ele){
if (ele%2 == 0){
return true;
}
return false;
})
var arr = [3,5,6,1,4];
var narr = arr.filter(function(ele){
if(ele%2 == 0 ){
return true;
}
});
console.log(narr);
数组的增删改查
1.查
arr[index]
2.改
arr[index] = newdata;
3.增
从尾加:push()
从头加:unshift()
4.删
pop()从尾删
shift()从头删
5.splice(begin,length,..eles);
开始索引,长度,值
长度为0,表示在开始索引处增加元素
长度为1,eles有值,表示将开始索引处更改为新值
长度为2,eles有值,表示将开始索引后的2个位置改为eles的值,长度增长同理
长度不为0,eles没值,表示将开始索引后长度删除
js对象,数组,字符串的操作的更多相关文章
- 前台的js对象数组传到后台处理。在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>
前台的js对象数组传到后台处理.在前台把js对象数组转化为json字符串,在后台把json字符串解析为List<>
- js对象数组中的某属性值 拼接成字符串
js对象数组中的某属性值 拼接成字符串 var objs=[ {id:1,name:'张三'}, {id:2,name:'李四'}, {id:3,name:'王五'}, {id:4,name:'赵六' ...
- JS对象—数组总结(创建、属性、方法)
JS对象—数组总结(创建.属性.方法) 1.创建字符串 1.1 new Array() var arr1 = new Array(); var arr2 = new Array(6); 数组的长度为6 ...
- js对象数组多字段排序
来源:js对象数组按照多个字段进行排序 一.数组排序 Array.sort()方法可以传入一个函数作为参数,然后依据该函数的逻辑,进行数组的排序. 一般用法:(数组元素从小大进行排序) var a = ...
- JS 中数组字符串索引和数值索引研究
先来看一个问题: var array = []; array["a"] = "hello"; array["b"] = "worl ...
- js对象 1字符串对象2时间日期对象3数字对象
1字符串对象 直接对字符操作 var str = "这,是,不,是,字,符,串"; //字符串转数组 字符串.split(分隔符) var arr ...
- js对数组的常用操作
在js中对数组的操作是经常遇到的,我呢在这就列一下经常用到的方法 删除数组中的元素: 1.delete方法:delete删除的只是数组元素的值,所占的空间是并没有删除的 代码: var arr=[12 ...
- JS 对象 数组求并集,交集和差集
一.JS数组求并集,交集和差集 需求场景 最近,自己项目中有一些数组操作,涉及到一些数学集的运算,趁着完成后总结一下. 简化问题之后,现有两数组a = [1, 2, 3],b = [2, 4, 5], ...
- js对象/数组深度复制
今天碰到个问题,js对象.数组深度复制:之前有见过类似的,不过没有实现函数复制,今晚想了一下,实现代码如下: function clone(obj) { var a; if(obj instanceo ...
随机推荐
- java数据结构----链表
1.链表:链表是继数组之后第二种使用的最广泛的通用存储结构,它克服了数组的许多弊端:无序数组的查找慢问题,有序数组的插入慢问题,数组定义时的定长问题.它也可取代数组,作为其他数据结构的基础. 2.引用 ...
- SOA思想
参考:https://www.cnblogs.com/renzhitian/p/6853289.html 是什么 SOA service-oriented architecture 面向服务的体系结构 ...
- Tinghua Data Mining 9
关联规则,营销购物 空缺 协同过滤
- AtCoder Regular Contest 078 C
C - Splitting Pile Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement Snu ...
- <?php } ?> 标记
只是为了分离php 和html 代码的一种书写方法. 你要知道 一段程序代码 function fool(){//内容}是这么组成的那么当有html代码的时候就需要先暂时将php的开始部分给分开(不分 ...
- 091 Decode Ways 解码方法
包含 A-Z 的字母的消息通过以下规则编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个包含数字的编码消息,请确定解码方法的总数.例如,给定消息为 "1 ...
- appcloud 加载第三方页面loading效果
apiready = function() { var header = $api.byId('header'); $api.fixIos7Bar(header); var headerPos = $ ...
- 微信小程序---图片上传+服务端接受
原文地址:http://blog.csdn.net/sk719887916/article/details/54312573 微信小程序,图片上传,应用地方-修改用户信息的头像. 详细代码: 小程序的 ...
- AngularJs数据绑定原理
注 这篇博文主要是写给新手的,是给那些刚刚开始接触Angular,并且想了解数据帮定是如何工作的人.如果你已经对Angular比较了解了,那强烈建议你直接去阅读源代码. Angular用户都想知道数据 ...
- 除虫记——有关WindowsAPI文件查找函数的一次压力测试
作者:朱金灿 来源:http://blog.csdn.net/clever101 这里说的除虫是指排除bug的意思.今天排除了一个有意思的bug,其中的场景大致是这样的:现在你要统计一个文件夹下非隐藏 ...