数组,字符串的方法及使用"/>
非常详细的JavaScript 数组,字符串的方法及使用
JavaScript 数组,字符串的方法
数组的概念及定义
数组:一组任意类型或者相同类型的数据。
除了 Object 类型之外,Array 类型是ECMAScript 最常用的类型。而且 ECMAScript 中的 Array 类型和其他语言中的数组有着很大的区别。 虽然数组都是有序排列, 但 ECMAScript 中的数组每个元素可以保存任何类型。ECMAScript 中数组的大小也是可以调整的。
数组的方法及使用
push() :可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
var arr=['one','two'];console.log(arr.push('three','four')); //4
pop() :从数组末尾移除最后一项,减少数组的length值,然后返回移除的项。
//括号里不需要参数var arr3=["one", "two", "three", "four"];console.log(arr3.pop()); //four
unshift() :方法能够在数组前面添加任意个项并返回新数组的长度。
var arr=["one", "two", "three", "four"];console.log(arr.unshift('a','b','c')); //7
shift() :方法能够移除数组中的第一个项并返回移除项,同时将数组长度减 1。
var arr1=["one", "two", "three", "four"];console.log(arr1.shift()); //one
reverse() : 方法会反转数组项的顺序。
var arr1=["one", "two", "three", "four"];console.log(arr1.reverse()); //["four", "three", "two", "one"]
sort() :方法按字母表升序排列数组项。(无法排序数字)
//unicode 编码://0-9 48-57//A-Z 65-90//a-z 97-122var arr1=["one", "two", "three", "four"];console.log(arr1.sort()); // ["four", "one", "three", "two"]//sort()方法可以接收一个比较函数作为参数.var arr2 = [100, 5, 90, 34, 7, 4, 6, 8, 29,1000];console.log(arr2.sort(function(a,b){return a-b;}));//[4, 5, 6, 7, 8, 29, 34, 90, 100, 1000]
concat() :方法可以基于当前数组中的所有项创建一个新数组,参数可以是数组项或者数组。不改变原数组
var arr=['apple','banana'];var arr1=['a','b','c'];console.log(arr.concat('orange',arr,arr1)); //["apple", "banana", "orange", "apple", "banana", "a", "b", "c"]
slice() :方法它能够基于当前数组中的一或多个项创建一个新数组。可以接受一或两个参数,即要返回项的起始和结束位置,不包括结束位置。不改变原数组
var arr=["a", "b", "c", "d", "e", "f", "g"];console.log(arr.slice()); //没有参数,全部截取。console.log(arr.slice(2)); //从索引2的位置开始---结束 ["c", "d", "e", "f", "g"]console.log(arr.slice(2,5)); //不包括结束位置 ["c", "d", "e"]console.log(arr.slice(2,-3)); //负数从后往前数-1。 ["c", "d"]console.log(arr.slice(-6,-2)); //负数从后往前数-1。 ["b", "c", "d", "e"]console.log(arr.slice(1,1)); //[]
splice() :方法对数组进行删除、插入、替换,是最强大的数组方法,返回值是数组,改变原数组。
// 1.删除,第一个参数开始的索引,第二个参数代表截取的长度var arr=["a", "b", "c", "d", "e", "f", "g"];console.log(arr.splice(2,3));//["c", "d", "e"] console.log(arr);//["a", "b", "f", "g"]// 2.插入,第一个参数开始的索引,第二个参数为0,从第三个参数开始,代表插入的值。var arr=["a", "b", "c", "d", "e", "f", "g"];console.log(arr.splice(2,0,'hehe','xixi','haha')); // ["a", "b", "hehe", "xixi", "haha"]console.log(arr); //["a", "b", "hehe", "xixi", "haha", "c", "d", "e", "f", "g"]// 3.替换, 第一个参数开始的索引,第二个参数代表替换的长度,从第三个参数开始,代表替换的值。var arr=["a", "b", "c", "d", "e", "f", "g"];console.log(arr.splice(2,3,'hehe','xixi','haha')); //[ "c", "d", "e"]console.log(arr); //["a", "b", "hehe", "xixi", "haha", "f", "g"]
join() :方法,将数组转换成对应的字符串。参数就是连接符。
var arr=["a", "b", "c", "d", "e", "f", "g"];console.log(arr.join('#')); //a#b#c#d#e#f#gconsole.log(arr.join('')); //abcdefg
字符串的方法及使用
charAt(num) :返回对应字符串索引的内容。
var str='javascript';
console.log(str.charAt(2)); //v
charCodeAt(num) :返回对应的字符串索引的内容的unicode编码。
var str='javascript';
console.log(str.charCodeAt(1)); //97
String.fromCharCode(unicode编码) :将参数中的unicode编码返回成对应的字符串的内容,多个编码用逗号分隔。
console.log(String.fromCharCode(97)); a
trim() :创建一个字符串的副本,删除前置及后缀的所有空格,然后返回结果。
var str=' sdafads dasf dafs fdasf ';
console.log(str.trim()); //sdafads dasf dafs fdasf
split() :根据分隔符、将字符串拆分成数组。
//把一个字符串分割成一个数组。通过传递一个参数来分割。第一个参数就是分割字符串的符号。如果参数为空,也是数组,只有一个数据。
//第二个参数用来限制数组的长度,多余的切掉。
var str='abcde';
console.log(str.split('',4)); //["a", "b", "c", "d"]
substring() :用来截取字符串的内容
var str='javascript';
//没有参数全部截取。相当于从第0位开始截取。
console.log(str.substring()); //javascript
//一个参数代表截取从参数的位置往后的字符串。
console.log(str.substring(2)); //vascript
//两个参数代表截取两个参数之间的字符串,不包括最后一个参数的位置。
console.log(str.substring(2,6)); //vasc
//两个参数的时候,当第二个参数小于第一个参数,自动交换位置。
console.log(str.substring(6,2)); //vasc
//如果是负数,当做0来处理。
console.log(str.substring(6,-5)); //javasc
console.log(str.substring(0,6)); //javasc
toUpperCase() :转换成大写.
var str='javascript';
console.log(str.toUpperCase()); //JAVASCRIPT
toLowerCase() :转换成小写.
var str='javascript';
console.log(str.toLowerCase()); //javascript
match() : 方法获取匹配内容,返回数组
var str='javascript123';
var reg=/[a-z]+/g;
console.log(str.match(reg)); //["javascript"]
search() : 来查找匹配数据,和全局没有关系,查找第一个匹配值的位置。
var str='javascript123';
var reg=/[0-9]+/g;
console.log(str.search(reg)); //10
replace() :替换,这个方法接受两个参数:第一个参数可以是一个 RegExp 对象或者一个字符串,第二个参数可以是一个字符串或者一个回调函数。
var str='javascript123';
console.log(str.replace(/[0-9]/g, '*')); //javascript***//回调函数
var str='get-element-by-id'; //->getElementById
console.log(str.replace(/\-\w/g,function(result){//console.log(result.substring(1));return result.substring(1).toUpperCase();
}));
数组和字符串共有的方法
- slice() :截取字符串的方法,如果为负数,从后往前进行截取,包括开始的索引。
- indexOf 和 lastIndexOf() :区别是如果第二个参数为负数,数组是从后往前找,字符串是当做0处理。
- concat( ) :和数组方法使用一致。
更多推荐
非常详细的JavaScript 数组,字符串的方法及使用
发布评论