Javascript数组与字符串常用api
javaScript(api学习)
数组有关的api
创建数组
var arr = new Array();//创建新的空数组
数组的增删改查
var arr = [1,2,3,4,5];
delete arr[2];//arr = [1,2,undefined,4,5];
delete可以删除,但只删除值,位置会被undefined填充,形成稀疏数组
//查数组最后一位元素
console.log(arr[arr.length-1]);
//通过更改length清空数组
arr.length = 0;
注:
更改数组长度的方法在数组索引不为数字的时候length失效
在数组处在稀疏数组的状态,我们通过length操作的时候会出问题
indexOf();
作用:可返回数组中某个指定元素的位置,若没有这个元素就会返回-1
var arr = [2,5,6,8,9,10,13];
arr.indexOf(9);//返回4
arr.indexOf(7);//返回-1
push(),pop(),unshift(),shift()
push();在数组的最后添加一个或多个值,返回数组的新的长度
pop();删除并且返回数组最后一个元素
unshift();可以向数组的开头添加一个或者多个元素,返回新长度
shift();删除数组的第一个元素,并且返回删除的元素
var arr = [5,6,7,8];
var info1 = arr.push(9);//arr=[5,6,7,8,9];
console,log(info1);//打印为5
var info2 = arr.pop();//arr = [5,6,7,8];
console,log(info2);//打印为9
var info3 = arr.unshift(4);//arr = [4,5,6,7,8];
console.log(info3);//打印为5
var info4 = arr.shift();//arr[5,6,7,8];
console.log(info4);//打印为4
forEach()
作用:用于调用每个元素,并将元素传递给回调函数
参数:forEach(callback);
callback有三个参数:
第一个表示正在处理的当前元素 (必选)
第二个参数表示数组中正在处理元素的索引值
第三个参数表示正在操作的数组
forEach();函数return值为undefined
var arr1 = [1,2,3,4,5,6];
var arr2 = [];
arr1.forEach(function(item){
arr2.push(item);
})
console.log(arr2);//[1,2,3,4,5,6]
map();
作用:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
var arr1 = [2,4,6,8];
var info = arr1.map(function(item){
var num = item * 2;
return item;
})
console.log(info);//[4,8,12,16]
reduce();
作用:接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。
这里的callback的参数多了一个:
accumulator:累加器(必选)
var arr = [2,4,6,8,9,10];
var info = arr.reduce(function(add,item){
return add + item;
})
console.log(info);//39
filter();(函数过滤器)
作用:创建一个新的数组,新数组中的元素是通过检查指定数组中符和条件的所有元素
var arr1 = [1,2,3,5,6,8,9,12];
var info = arr1.filter(function(item){
if(item % 2 === 0){
return true;
}
})
console.log(info);//[2,6,8,12]
every();
作用:用于检测数组,新数组中的所有元素是否都符合条件。
注:
如果数组中有一个元素不满足,则整个表达式返回false.且剩余元素不会进行检测。
如果所有元素都满足条件,则返回true。
var arr = [2,4,5,6,8,10];
//判断是否全是偶数
var info = arr.every(function(item){
if(item % 2 === 0){
return ;
}
})
console.log(info);//false
some();
用于检测数组所有元素是否符和指定条件
注:
如果有一个满足条件,则表达式返回true,剩余的元素不会在执行检测
如果所有元素满足都满足条件,则返回false。
var arr = [2,4,5,6,8,10];
//判断是否有奇数
var info = arr.some(function(item){
if(item % 2 !== 0){
return;
}
})
join();
用于把数组中的所有的元素转换成一个字符串
参数(可选):
指定一个字符串来分割数组的每个元素。如果需要,将分割转换为字符串。
如果缺省该值,数组元素用逗号隔开,如果是空字符串(""),则所有元素之
间都没有任何字符。
var arr = ['hello','world','!'];
var info = arr.join('');
console.log(info);//helloworld!
reverse();
用于颠倒数组中元素的顺序(更改初始数组)
var arr = [4,56,87,2,3];
arr.reverse();
console.log(arr);//[3,2,87,56,4]
sort();
对数组进行排序(更改初始数组)
参数callback:
第一个用于比较的元素
第二个用于比较的元素
var arr = [4,56,87,2,3];
arr.sort(function(arg1,arg2){
return arg1 - arg2 ;
});
console.log(arr);//[2,3,4,56,87];
concat(arr1,arr2,...);
用于连接两个或多个数组
var arr1 = ['a','b',2];
var arr2 = [1,'cb',45];
var info = arr1.concat(arr2);
console.log(info);
slice();
可从已有的数组中返回选定的元素
两个参数:
began:开始的索引
end:结束的索引
tip: 包括开始不包括结束
var arr = [1,3,4,5,6,7];
var info = arr.slice(1,3);
console.log(info);//[3,4];
splice();
用于添加或删除数组中的元素(会改变原数组)
内含三个参数:
第一个是开始的索引
第二个是选中元素的个数
第三个是添加的元素
var arr = [1,3,4,5,6,7];
var info = arr.splice(1,1,'a');
console.log(info);//3
console.log(arr);//[1,'a',4,5,6,7]
isArray();
判断是不是数组
var arr = [1,3,4,5,6,7];
var info = Array.isArray(arr);
console.log(info);//true
String字符串api
charAt();
可返回指定位置的字符
var str = 'hello world';
var info = str.charAt(2);
console.log(info);//l
charCodeAt();
可返回指定位置的字符的Unicode编码
var str = 'hello world';
var info = str.charCodeAt(2);
console.log(info);//108
concat();
将多个字符串拼接
var str1 = 'hello';
var str2 = 'world';
var st3 = '!';
var info = str1.concat(str2,str3);
console.log(info);//helloworld!
fromCharCode();
根据Unicode表的值创建一个字符
var str = String.fromCharCode(108);
console.log(str);
indexOf();
可以返回一个字符在字符串中首次出现的位置
var str = 'hello world';
var info = str.indexOf('l');
console.log(info);//2
lastIndexOf();
返回一个字符在字符串最后出现的位置
var str = 'hello world';
var info = str.lastIndexOf('l');
console.log(info);//9
match();
可以在字符串中检索指定的值(可以和正则配合)
var str = 'hello world';
var info = str.match('o');
console.log(info);//Array[0:'o',index:4,input:'hello world',length:1]
replace();
可以在字符串当中使用一些字符替换另一些字符(可以和正则搭配)
var str = 'hello world';
var info = str.replace('lo','**');
console.log(info);//hel** world
search();
用于在字符串当中检索查找指定的字符(可以和正则配合)
var str = 'hello world';
var info = str.search('o');
console.log(info);//4
slice();
可以从字符串中截取指定的字符
var str = 'hello world';
var info = str.slice(1,3);
console.log(info);//el
split();
可以把字符串分割成字符串
参数:
第一个参数表示控制的切割符
第二个参数表示数组里面的长度(可以存入几个数据)
var str = 'hello world !';
var info = str.split(' ',2);
console.log(info);//['hello','world'];
substr();
可以从字符串当中抽取从开始位置指定的个数的字符
参数:
第一个是截取位置
第二个是截取长度
var str = 'hello world';
var info = str.substr(2,2);
console.log(info);//ll
substring();
从开始和结束的中间截取字符串。
var str = 'hello world';
var info = str.substring(1,3);
console.log(info);//el
toLowerCase();
把字符串中的字符小写
var str = 'HELLO WOLRD';
var info = str.toLowerCase();
console.log(info);//hello wolrd;
toUpperCase();
把字符串大写
var str = 'hello world';
var info = str.toUpperCase();
console.log(info);//HELLO WORLD
Javascript数组与字符串常用api的更多相关文章
- 字符串、数组、对象常用API
常用的字符串API 1.常见方法和属性 length 属性,获取字符串的字符数量 charAt(i) 返回给定位置的字符 charCodeAt( ) 返回给定位置的字符的字符编码 <scrip ...
- Javascript 数组 数字 字符串 时间等使用
1.Javascript 数组API 1. //定义数组 2. var pageIds = new Array(); 3. pageIds.push('A'); 5. 数组长度 6. pageIds. ...
- 舌尖上的javascript数组和字符串基本操作
Javascript数组基本操作 Javascript中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数,然而这些数字索引在内部被转换为字符串类型,这是因为javascrip ...
- java===字符串常用API介绍(转)
本文转自:http://blog.csdn.net/crazy_kid_hnf/article/details/55102861 字符串基本操作 1.substring(from,end)(含头不含尾 ...
- JavaScript 数组、字符串、Map、Set 方法整理
在线阅读 https://www.kancloud.cn/chenmk/web-knowledges/1080519 数组 isArray():Array.isArray(value) 用于检测变量是 ...
- JavaScript数组转字符串,字符串转数组
//--------------------数组转字符串--------------------------- //需要将数组元素用某个字符连接成字符串 var a1, b1,c1; a1 = [&q ...
- JavaScript数组与字符串常用方法总结
先来一段代码引子: var str='hello world'; alert(str.charAt());//通过下标查找值: alert(str.indexOf());//通过值查找字符串下标:没有 ...
- javascript数组与字符串之间转换
一.数组转字符串(将数组元素用某个字符连接成字符串) var a, b;a = new Array(0,1,2,3,4);b = a.join("-"); 二.字符串转数组(将字符 ...
- Javascript:数组和字符串的相互转化
中午吃饭的时候,和室友讨论前端的问题,然后一个有趣的问题被抛出来: javascript用什么方法可以把“hello world”位置反转输出,即输出:"dlrow olleh"? ...
随机推荐
- pycharm中新建Vue项目时没有vue.js的解决办法
可能很多小伙伴在使用pycharm 1,新建vue项目的时候并没有发现vue.js的名字, 2,新建.vue文件(即单文件组件)的时候没有 下面就来帮助大家一下,仅供参考 如图: 1.首先我们打开设置 ...
- MySQL数据库root密码忘记丢失重置方法
对于DBA来说,丢失超管用户root的密码是致命的, 可以通过添加--ship-grant-tables参数来跳过权限表. 1.忘记root密码,进不去数据库: 这个时候需要强制停库,先查看MySQL ...
- IBM x3250m5安装redhat 6.5 加载raid卡驱动
原文地址:http://www.i5i6.net/post/118.html 1. 下载对应raid卡驱动 for redhat6.5 x64(如本次x3250 m5 c100阵列卡驱动 lsi_dd ...
- mongDb在node中的操作
mongoDb 干嘛的:数据库,nosql(非关系型|缓存型) 场景:解决大规模数据集合多重数据种类 下载:https://www.mongodb.com/download-center 安装:htt ...
- 把shp文件处理成Android可以识别中文的版本
针对ArcGIS10.2版本的解决办法(默认中文编码为OEM): 假设现在有一个shp图层文件“图层.shp”,在ArcGIS10.2中可以正常打开,属性表中有中文内容,以此为例进行设置 1.拷贝一个 ...
- Java 代码块详解
注:本文出自博主 Chloneda:个人博客 | 博客园 | Github | Gitee | 知乎 注:本文原链接:https://www.cnblogs.com/chloneda/p/java-c ...
- redis缓存优化
redis缓存优化 一.问题 在Javaweb项目中,如果每次刷新,所有资源都重新从数据库中读取,这样每次效率会很低,在这里可以使用redis非关系型数据库,将一些不经常变化得资源加载进内存中.提高效 ...
- Spring Boot源码(七):循环依赖
循环依赖 以及 spring是如何解决循环依赖的 循环依赖 通俗来说 就是beanA中依赖了beanB,beanB中也依赖了beanA. spring是支持循环依赖的,但是默认只支持单例的循环依赖,如 ...
- CSS相对定位与绝对定位
1.相对定位 Position : relative ; 特点: 1 如果没有定位偏移量,对元素本身没有任何影响: 2 不使元素脱离文档流,空间是会被保留: 3 不影响其他元素布局: 4 left.t ...
- 在Windows7中的各种显示模式中桌面图标的尺寸
在Windows7中的各种显示模式中,图标的尺寸 window7 桌面icon设计尺寸大小桌面图标设计尺寸一般是多少超大图标:256X256大图标:128X128中图标:32X32平铺:32X32列表 ...