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 ...
随机推荐
- Flask (一) 简介
Flask简介 Flask是一个基于Python实现的Web开发‘微’框架 'MicroFramework' Django是一个重型框架 官方文档: http://flask.pocoo.org/do ...
- python之内置函数(lambda,sorted,filter,map),递归,二分法
一.lambda匿名函数 为了解决一些简单需求而设计的一句话函数,lambda表示的是匿名函数,不需要用def来声明,一句话就可以声明出一个函数. 语法: 函数名 = lambda 参数 : 返回值 ...
- 用javascript编写一个简单的随机验证码程序
简单模拟网页的随机数字验证码,效果图如下: html代码: <div id="content"> <div class="left"> ...
- 111 Minimum Depth of Binary Tree 二叉树的最小深度
给定一个二叉树,找出其最小深度.最小深度是从根节点到最近叶节点的最短路径的节点数量.详见:https://leetcode.com/problems/minimum-depth-of-binary-t ...
- MDX之百分比
MDX的几种百分比的计算方法 实际应用中,特别是一些分析报表,经常需要计算数据百分比.份额.平均值.累计占比等,在数据仓库飞速发展的今天,我们需要了解一些经常编写的MDX语句的写法,以满足工作中的需要 ...
- DDX和DDV——控件与变量之间值的传递
DoDataExchange由框架调用,作用是交互并且验证对话框数据,主要由(DDX) 和 (DDV)宏实现. 永远不要直接调用这个函数,而是通过UpdateData(TRUE/FALSE)实现控件与 ...
- 访问NopCommerce的Admin 运行Nop.Admin后台管理
Step 1.下载和安装NopCommerce的源码: Step 2.打开和运行Presentation下的Nop.Web 项目: Step 3.初次运行 会弹出界面 配置管理员账号 和 数据库信息: ...
- 12.JAVA-基本数据类型的包装类操作
1.基本数据类型的包装类 java是一个面向对象编程语言,也就是说一切操作都要用对象的形式进行.但是有个矛盾: 基本数据类型(char,int,double等)不具备对象特性(不携带属性和方法) 这样 ...
- BootStrap的基本使用
bootstrap 现成的css样式,直接调用类作用是快速写出页面又称UI框架Bootstrap中文网LESS是预处理器CSS预处理器定义了一种新的语言,基本的思想是用一种专门的编程语言,开发者只需要 ...
- functools模块中的函数
Python自带的functools模块提供了一些常用的高阶函数,也就是用于处理其它函数的特殊函数.换言之,就是能使用该模块对可调用对象进行处理.functools模块函数概览functools.cm ...