字符串和数组的操作
更新日期:
字符串和数组的操作

字符串操作:
indexOf()方法可返回某个指定字符串值在字符串中首次出现的位置,从前往后查找如果没有找到匹配的字符串则返回-1
indexOf(*strValue.position)案例: var str = "hello world"; console.log(str.indexOf("o",5)); lastIndexOf()方法可返回某个指定字符串值在字符串中首次 出现 的位置,从后往前查找 如果没有找到匹配的字符串则返回-1 lastIndexOf(*strValue.position) 案例: var str = "hello world"; console.log(str.lastIndexOf("o",5)); slice()方法可提取字符串的某个部分,并以新的字符串返回被 提取 的部分。 slice(*positionStart,positionEnd) 案例: var str = "1-2-3-4-5"; console.log(str.slice(3,6));//字符串长度 6-3 //从 3开始 不包含6 split()方法用于把一个字符串分割成字符串数组。 split(*strValue,length) 案例: var str = "1-2-3-4-5"; var arr = str.split(“-“,2);//用-号分开2个字符串 ["1","2"] console.log(arr);substring()提取相应区间的字符
substring(*starIndex,endIndex);
取的字符串长度为:endIndex-starIndex
取的字符内容不包括endIndex字符
案例:
var str = "1-2-3-4-5";
console.log(str.substring(3));//从下标3开始
console.log(str.substring(3,6));//字符串长度 6-3 //
从3开始 不包含6
charCodeAt()返回指定下标位置的字符Unicode编码
案例:
console.log(“abc”>"aaa");//true
var str2=“abc”.charCodeAt(0);//通过括号内的下标来查找
字符串内数字的编码
console.log(str2);
charAt()返回指定位置的字符
案例:
var str="abcdefj";
var str2=str.charAt(2);//通过括号内的下标来查找字符
console.log(str2);
toUpperCase()把字符串转化为大写;
案例:
var str = "abcdefj";
var str2 = str.toUpperCase();//只能字符串整体变大,不
能传参或指定字符变大
console.log(str2);
toLowerCase()把字符串转化为小写;
案例:
var str = "ABCDEFJ";
console.log(str.toLowerCase());//只能字符串整体变小,
不能传参或指定字符变小
delete删除属性
案例: var obj={name:”bai”,age:”16”}; delete obj.name//删除成功显示true quange=“funny”; delete quange//删除成功显示true
数组:
join()用于把数组中的所有元素,通过指定的分隔符放入一个字符串
案例: var arr = [1,2,3,4,5,6,7]; var str = ''; str = arr.join('|');//可以指定分隔符 console.log(str);pop()移除数组中的最后一个元素并返回该元素
pop()方法将删除Array的最后一个元素,把数组长度减1,并且返回它删除的元素的值,如果数组已经为空,则pop()不改变数组,并返回undfined值
案例:
var arr = [1,2,3,4,5,6,7];
console.log(arr.pop(),arr);
- shift()移除数组中的第一个元素并返回该元素
如果数组是空的,那么shift()方法将不进行任何操作,返回undfined值。请注意,该方法不创建新数组,而是直接修改原因的Array.
案例:
var arr = [1,2,3,4,5,6,7];
console.log(arr.shift(),arr);
- push()向数组的末尾添加一个或更多元素,并返回新的长度。
push()方法可把它的参数顺序添加到Array的尾部。它直接修改arrayObject,而不是创建一个新的数组
案例:
var arr = [1,2,3,4,5,6,7];
console.log(arr.push(8,9,10),arr);
数组:
一、
sort()方法用于对数组的元素排序
参数可选,不选参数的话,按字母顺序排序,先字符串化,再按照字符编码排序。
参数必须是函数,比较函数,这个函数写在外面案例: var arr=[10,20,1,4,5,8,100]; console.log(arr.sort());比较函数:
function(a,b){return b-a || a-b}
ab代表数组两个任意数值。
return>0的值 b在a的前面。
return<0的值 a在b的前面。
return = 0?
简化一下:a-b输出从小到大排序,b-a输出从大到小排序。案例: var arr=[10,20,1,4,5,8,100]; function fn(a,b){ return a-b;//大于0,小于0,等于0的(有兼容问题) // return b-a; } console.log(arr.sort(fn));reverse()方法用于对数组元素逆向排序
案例: var arr=[10,20,1,4,5,8,100]; console.log(arr.reverse());
二、
slice()该方法可从指定数组中返回选定的元素
slice(*starIndex,endIndex)
第一个参数可为负数,-1代表最后一个
可用于数组和字符串案例: var arr=[0,1,2,3,4,5,6,7,8]; console.log(arr.slice(2,6));splice()用于对数组的删除,替换,插入,返回被删除的项
arr.splice(starIndex,deletCount,item…)
starIndex表示位置坐标
delet要删除的个数0的话,表示不删除
item表示要替换,插入的序列案例: var arr=[0,1,2,3,4,5,6,7,8]; var arr2; arr2=arr.splice(2,1,'abc'); console.log(arr2,arr);forEach()
案例: var arr=[0,1,2,3,4,5,6,7,8]; arr.forEach(function(aa,bb,cc){ console.log(aa,bb,cc);//第三个参数代表数组本 身,第二个参数代表下标,第一个参数代表下标对应的元素 });

