字符串、对象、数组操作方法、json方法
1.字符串操作方法
* 返回取到的那个字符,类型为字符串
var str='kaivon';var s1=str.charAt(1);console.log(s1); //avar s2=str.charAt();console.log(s2); //kvar s3=str.charAt(10);console.log(s3); //空
* 返回字符对应的Unicode编码
var str='kaivon';var s1=str.charCodeAt(1);console.log(s1); //97var s2=str.charCodeAt();console.log(s2); //107var s3=str.charCodeAt(10);console.log(s3); //NaN
* 返回一个数字,这个数字代表字符在整个字符串里的真实下标,如果没找到的话就返回-1
var str='kaivaokn';var s1=str.indexOf('a');console.log(s1); //1var s2=str.indexOf('k',1);console.log(s2); //6var s3=str.indexOf('b');console.log(s3); //-1
* 返回一个数字,如果找到的话就返回这个字符的真实下标,如果没找到返回-1
var str='kaivokn';var s1=str.lastIndexOf('a');console.log(s1); //1var s2=str.lastIndexOf('k',5);console.log(s2); //5var s3=str.lastIndexOf('b');console.log(s3); //-1
* 返回截取到的那个字符串,原字符串没有变化
* 与slice的区别* 1、slice起始位置不能大于结束位置,而substring起始位置可以大于结束位置 (会自动调大小)* 2、slice可以放负数,而substring是不能放负数的
var str='kaiovn';var s1=str.slice();console.log(s1); //kaiovnvar s2=str.slice(3);console.log(s2); //ovnvar s3=str.slice(2,4);console.log(s3); //iovar s4=str.slice(-3,-2);console.log(s4); //oconsole.log(str); //kaiovn
* 返回一个数组,原字符串没有变化
var str='kaivon';var s1=str.split();console.log(s1); //["kaivon"]var s2=str.split('');console.log(s2); //["k", "a", "i", "v", "o", "n"]var s3=str.split(' ');console.log(s3); //["kaivon"]var s4=str.split('a');console.log(s4); //["k", "ivon"]var s5=str.split('i',1);console.log(s5); //["ka"]console.log(str); //kaivon
* 返回截取到的字符串,原字符串不变
var str='kaivon';var s1=str.substr();console.log(s1); //kaivonvar s2=str.substr(2);console.log(s2); //ivonvar s3=str.substr(3,2);console.log(s3); //voconsole.log(str); //kaivon
* 返回字符串转成小写的结果,原来的字符串不有变化
var str='KaiVoN';var s1=str.toLowerCase();console.log(s1); //kaivonconsole.log(str); //KaiVoN
* 返回字符串转成大写的结果,原字符串不变
var str='kaivon';var s1=str.toUpperCase();console.log(s1); //KAIVONconsole.log(str); //kaivon
* 返回字符串去掉首尾空格的结果,原字符串不变
var str=' kaivon ';var s1=str.trim();console.log(s1); //kaivonconsole.log(str); // kaivon
* 一种类似JS中的对象格式的字符串(JSON它是一个字符串,只不过内容长得像对象)
* 每个数据之间用逗号隔开
var j1="[1,2,3]";var j2='{"name":"老王","age":30}';console.log(j1,typeof j1); //[1,2,3] stringconsole.log(j2,typeof j2); //{"name":"老王","age":30} string
* 把一个JSON格式的字符串转成对象,返回转过后的对象
var j1="[1,2,3]";var j2='{"name":"老王","age":30}';var obj1=JSON.parse(j1);console.log(obj1,typeof obj1); //[1, 2, 3] "object"var obj2=JSON.parse(j2);console.log(obj2,typeof obj2); //{name: "老王", age: 30} "object"var j3='{name:"kaivon"}';var obj3=JSON.parse(j3); //报错 key没有加引号var j4='['aow','shw','dwn']';console.log(JOSN.parse(j4)); //报错 因为元素只是单引号,需要改成双引号
* 如果对象当中的key没有加引号,也可以转换,转换后的结果会自动给它加上引号
var obj1=[1,2,3];var obj2={"name":'老王',"age":30};var obj3={name:'老王',"age":30};var obj4=['ad','gf','fsd'];console.log(JSON.stringify(obj4)); // ["ad","gf","fsd"]var s1=JSON.stringify(obj1);console.log(s1); //[1,2,3]var s2=JSON.stringify(obj2);console.log(s2); //{"name":"老王","age":30}var s3=JSON.stringify(obj3);console.log(s3); //{"name":"老王","age":30}
* 返回参数向上取整后的结果
console.log(Math.ceil(0.1)); //1console.log(Math.ceil(-10.8)); //-10console.log(Math.ceil(10)); //10
* 返回参数向下取整后的结果
console.log(Math.floor(0.1)); //0console.log(Math.floor(-10.8)); //-11console.log(Math.floor(10)); //10
* 返回参数四舍五入后的结果
console.log(Math.round(3.15)); //3console.log(Math.round(4.5)); //5console.log(Math.round(-10.87)); //-11
* 返回参数取绝对值后的结果
console.log(Math.abs(10)); //10console.log(Math.abs(-11)); //11console.log(Math.abs(5-7)); ///2
* Math.random()
0 ~ x-1 : Math.floor(Math.random()*x)
//0-10console.log(Math.round(Math.random()*10));//5-7console.log(Math.round(Math.random()*(7-5) + 5));
* 返回数组添加后的长度,原数组变化,变成添加后的数组
var color=['red','green','blue','pink'];var len=color.push('white');console.log(color); //['red','green','blue','pink','white'];console.log(len); //5
* 返回数组添加后的长度,原数组变化,变成添加后的数组
var color=['red','green','blue','pink'];var len=color.unshift('white');console.log(color); //['white','red','green','blue','pink']console.log(len); //5
* 返回被删除的那个数据,原数组变化,变成删除后的数组
var color=['red','green','blue','pink'];var del=color.pop();console.log(del); //pinkconsole.log(color); //["red", "green", "blue"]
* 返回被删除的那个数据,原数组变化,变成删除后的数组
var color=['red','green','blue','pink'];var del=color.shift();console.log(del); //redconsole.log(color); //["green", "blue", "pink"]
* array 数组本身
var color=['red','green','blue','pink'];color.forEach(function(currentValue,index,array){console.log(currentValue,index,array)});
* 返回排序后的数组,原数组变了,变成排序后的数组
var arr=[4,2,7,8,3,1,10];arr.sort(function(a,b){return a-b;})console.log(arr); //[1, 2, 3, 4, 7, 8, 10]var arr1=[4,2,7,8,3,1,10];arr1.sort(function(a,b){return b-a;});console.log(arr1); //[10, 8, 7, 4, 3, 2, 1]//随机排序var arr2=[4,2,7,8,3,1,10];arr2.sort(function(){return 0.5-Math.random();})console.log(arr2);//没有参数var arr3=[4,2,7,8,3,1,10];arr3.sort();console.log(arr3); //按照字符对应的unicode编码号
* 返回颠倒后的数组,原数组变化了,变成颠倒后的数组了
var color=['red','green','blue','pink'];var a=color.reverse();console.log(a); //["pink", "blue", "green", "red"]console.log(color); //["pink", "blue", "green", "red"]
* 合并后的新数组,原数组是不变的
var color=['red','green','blue','pink'];var newColor=color.concat('yellow');console.log(newColor); //["red", "green", "blue", "pink", "yellow"]console.log(color); //["red", "green", "blue", "pink"]var newColor2=color.concat(['yellow','gold']);console.log(newColor2); //["red", "green", "blue", "pink", "yellow", "gold"]var newColor3=color.concat(1,2,3);console.log(newColor3); //["red", "green", "blue", "pink", 1, 2, 3]
* 返回数组转成的字符串,原数组不变
var color=['red','green','blue','pink'];var newColor=color.join();console.log(newColor); //red,green,blue,pinkconsole.log(color); //["red", "green", "blue", "pink"]var new1=color.join('');console.log(new1); //redgreenbluepinkvar new2=color.join(' ');console.log(new2); //red green blue pinkvar new3=color.join('&');console.log(new3); //red&green&blue&pink
* 返回截到的数组,原数组不会变
var color=['red','green','blue','pink','yellow'];var n1=color.slice();console.log(n1); //["red", "green", "blue", "pink", "yellow"]var n2=color.slice(2);console.log(n2); //["blue", "pink", "yellow"]var n3=color.slice(3,4);console.log(n3); //["pink"]console.log(color); //["red", "green", "blue", "pink", "yellow"]
* 原数组变化了,变成删除后剩下的内容
var color=['red','green','blue','pink','yellow'];var c1=color.splice();console.log(c1); //[]console.log(color); //["red", "green", "blue", "pink", "yellow"]var c2=color.splice(3);console.log(c2); //["pink", "yellow"]console.log(color); //["red", "green", "blue"]var color1=['red','green','blue','pink','yellow'];var c3=color1.splice(1,3);console.log(c3); //["green", "blue", "pink"]console.log(color1); //["red", "yellow"]var color2=['red','green','blue','pink','yellow'];var c4=color2.splice(1,2,'white','black');console.log(c4); //["green", "blue"]console.log(color2); //["red", "white", "black", "pink", "yellow"]var color3=['red','green','blue','pink','yellow'];var c5='a,b,c';var c6=color3.splice(3,2,c5);console.log(c6); //['pink',yellow]console.log(color3); //["red", "green", "blue", "a,b,c"]
字符串、对象、数组操作方法、json方法的更多相关文章
- Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合
Java技巧——将前端的对象数组通过Json字符串传到后端并转换为对象集合 摘要:本文主要记录了如何将将前端的对象数组通过Json字符串传到后端,并在后端将Json字符串转换为对象集合. 前端代码 前 ...
- 从js的repeat方法谈js字符串与数组的扩展方法
js将字符串重复N次的repeat方法的8个版本 /* *@desc: 将一个字符串重复自身N次 */ //版本1:利用空数组的join方法 function repeat(target, n) { ...
- 对象、对象数组、JSON、JSON数组的相关操作
本文主要是对JS操作JSON的要领做下总结在JSON中,有两种结构:对象和数组 1. 一个对象以“{”(左括号)开始,“}”(右括号)结束.每个“名称”后跟一个“:”(冒号):“"名称/值& ...
- JS 字符串对象 数组对象 函数对象 函数作用域
一.内置对象 object对象:ECMAScript 中的所有对象都由这个对象继承而来:Object 对象中的所有属性和方法都会出现在其他对象中 ToString() : 返回对象的原始字符串表示.V ...
- js中字符串和数组相互转化的方法
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #e4af0a } p. ...
- json字符串对象内嵌json对象
有时候需要在json的key:value字符串对象中再嵌入一个json对象,如果需要把如下的json对象作为字符串嵌入到json字符串对象中: { "type": 2, " ...
- (转)Silverlight调用的JS方法返回对象数组的处理方法
最近在做Silverlight应用,需要用Silverlight调用页面中Javascript方法.这 个JS方法返回一个对象数组给Silverlight.对于这个对象数组怎么在Silverlight ...
- JS对象 数组连接 concat() 方法用于连接两个或多个数组。此方法返回一个新数组,不改变原来的数组。 语法 arrayObject.concat(array1,array2,.arrayN)
concat() 方法用于连接两个或多个数组.此方法返回一个新数组,不改变原来的数组. 语法 arrayObject.concat(array1,array2,...,arrayN) 参数说明: 注意 ...
- JS中的字符串可以直接调用字符串对象的属性和方法
在JS中,会自动在字符串与字符串对象之间进行转换,因此,任何一个字符串常量都可以看作是一个String对象,其可以直接作为对象使用,只要在字符串变量的后面加 “.” 便可以直接调用String对象的属 ...
- 在将对象数组转换为json字符串
private List<WHCombineBatchFragmentBarcodeEnterEvent.Message.Data> dataList = new ArrayList< ...
随机推荐
- springMVC easyUI filebox 单个文件上传
被这个文件上传坑到如今.还是自己技术问题,照着之前extjs项目那边的上传实例,愣是上传不了 到后面就查了下springMVC的文件上传,依照那样搞定了http://blog.csdn.net/jad ...
- 像Bootstrap一样比较热门的前端框架有哪些
像Bootstrap一样比较热门的前端框架有哪些 一.总结 一句话总结:框架大同小异,可以多去各自官网看看效果(比较一下各自的不同点(也就是提供的不同的功能)),然后根据需求选择用哪个.我觉得boot ...
- PatentTips - Transitioning between virtual machine monitor domains in a virtual machine environment
BACKGROUND The present disclosure relates generally to microprocessor systems, and more specifically ...
- vue项目中一些文件的作用
原文 简书原文:https://www.jianshu.com/p/38749e5bec3c 大纲 1.vue项目结构 2.主要的配置文件 2.1.package.json 2.2.dev-serve ...
- [AngularFire2] Update multi collections at the same time with FirebaseRef
At some point, you might need to udpate multi collections and those collections should all updated s ...
- 【JAVA编码专题】总结 分类: B1_JAVA 2015-02-11 15:11 290人阅读 评论(0) 收藏
第一部分:编码基础 为什么需要编码:用计算机看得懂的语言(二进制数)表示各种各样的字符. 一.基本概念 ASCII.Unicode.big5.GBK等为字符集,它们只定义了这个字符集内有哪些字符,以及 ...
- JNI——Java调用C/C++函数
从C/C++到Java,再从Java回到C/C++,今天终于有机会了解了连接Java.C/C++的桥梁——JNI.哈哈!分享一下! 一.简介 JNI是Java native interface的简 ...
- NET使用ABP框架搭建项目
NET使用ABP框架搭建博客项目(一) 有很多学NET开发的小伙伴建项目都比较茫然,我用什么开发?我都使用什么框架?我怎么起名字?种种问题,让一些低等.中等的工程师(甚至是高级工程师)很烦躁. 推荐一 ...
- 机器学习01-kNN邻近算法
k-近邻算法 概述:k-近邻算法採用測量不同特征值之间的距离方法进行分类 长处:精度高.对于异常值不敏感.无数据输入假定 缺点:计算复杂度高,空间复杂度高,而且它没有办法各处基础数据的一些内部信息数据 ...
- Android 从硬件到应用:一步一步向上爬 4 -- 使用 JNI 方法调硬件驱动
Android下,java应用程序通过JNI方法调用硬件抽象层模块,在Android 从硬件到应用:一步一步向上爬 3 -- 硬件抽象层訪问硬件驱动 中我们已经编译好了硬件抽象层模块,以下就要開始为H ...