javaScript之数组(二)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javaScript之数组(二),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2643字,纯文字阅读大概需要4分钟。
内容图文
-
***数组API:
*栈和队伍:其实都是数组,只不过使用了不同的方法
栈:一端封闭,只能从另一端进出的*数组*
何时使用栈:只能从数组一端进出
结尾出入栈:
入栈:arr.push(新值); ==>arr.[arr.length]=新值;
出栈:var last=arr.pop();
案例:
var bus=[] ;
for ( var i= 0 ; i< 5 ; i++){
bus. push ( " 乘客" +i) ;
alert (bus) ;
}
while (bus. length > 0 ){
var cust=bus. pop () ;
alert (cust+ " 下车 \n " +bus) ;
}
开头出入栈:
入栈:arr.unshift(新值);
出栈:var first=arr.shift();
var bus=[] ;
for ( var i= 0 ; i< 5 ; i++){
bus. unshift ( " 乘客" +i) ;
alert (bus) ;
}
while (bus. length > 0 ){
var cust=bus. shift () ;
alert (cust+ " 下车 \n " +bus) ;
}
现实中的排队效果:push shift 组合
队列:只能从一端进入,必须从另一端出
何时使用:只要先到的先得
结尾入队列:arr.push(新值)
开头出队列:var first=arr.shift();
案例:排队买手机
var shen= 5 ;
var queue=[] ;
for ( var i= 0 ; i< 6 ; i++){
queue. push ( " 顾客" +i) ;
alert (queue) ;
}
while (shen> 0 ){
var cust=queue. shift () ;
shen-- ;
alert (cust+ " 抢购成功 \n " +queue+ " \n 剩余:" +shen) ;
}
alert (queue+ " 抢购失败" ) ;
2.二维数组:数组的元素又引用了另一个子数组
何时使用:保存横行数列的二维数据;保存上下级关系的数据
如何创建:2步
1.创建一个空数组:var data=[];
2.设置数组中每个元素再引用另一个小数组:date[0]=[0,0,0,0]
访问二维数组中任意位置的元素:data[r][c]
随机生成一个数,插入2:
var data=[
[ 0 , 0 , 0 , 0 ] ,
[ 0 , 0 , 0 , 0 ] ,
[ 0 , 0 , 0 , 0 ] ,
[ 0 , 0 , 0 , 0 ] ,
] ;
var r= Math . floor ( Math . random ()* 4 ) ;
var c= Math . floor ( Math . random ()* 4 ) ;
data[r][c]= 2 ;
var html=data. join ( "<br>" ) ;
document . write (html) ;
二维数组行下标r不能越界,越界就报错
遍历二维数组:固定套路:外层循环遍历当前行中的列
需要手写的固定套路
for ( var r= 0 ; r<data. length ; r++){
for ( var c= 0 ; c<data[r]. length ; c++){
当前元素:data[r][c]
}
}
3.***字符串对象:多个字符串组成的只读*数组*
和数组相同的API:
访问字符串中任意一个字符:str[i]
字符串的长度:str.length
凡是不直接修改原数组的API,字符串都能用:
比如 var substr=str.slice(starti,endi+1);
var newstr=str.concat(otherstr);
不能用: reverse() push() str[i]="字符"
内置对象:11个
ES标准已经规定好,由浏览器厂商已经实现的对象
开发人员直接使用,不必关心具体实现。
String Number Boolen --包装类型
Array Date RegExp Math
Error
Function Object
Global-->window
4.查找关键字:
vari=str.indexOf("kword"[,starti]);//找右下侧一个,默认从头开始
str.lastIndexOf("kword"[,starti]);//找左下侧一个,默认结尾开始
lastIndexOf只要关键字第一字符<=当前位置
例1:
/* 顺位查找关键字的位置*/
var str= "no zuo no die no can no bi bi" ;
var i=str. indexOf ( "no" ) ;
console . log ( " 在位置" +i+ " 发现关键字" ) ;
例2:
/* 倒序查找关键字的位置*/
var str= "no zuo no die no can no bi bi" ;
var i=- 1 ;
while ((i=str. indexOf ( "no" , i+ 1 ))>= 0 ){
alert ( " 在位置" +i+ " 发现关键字" ) ;
}
例3:
从后面开始查找关键字:
/* 查找关键字的位置*/
var str= "no zuo no die no can no bi bi" ;
var i=str. length ;
while ((i=str. lastIndexOf ( "no" , i- 1 ))>= 0 ){
alert ( " 在位置" +i+ " 发现关键字" ) ;
if (i== 0 ){ // 防止0位置刚好出现关键字时,出现死循环
break ;
}
}
截取字符串的方法 3种:
varsub=str.slice(starti,endi+1);//获取两数之间的字符串,
str.substring(starti,endi+1);//不支持负数,提取字符串中介于两个指定下标之间的字符
str.substr(starti,n);//用于返回一个从指定位置开始的指定长度的子字符串
原文:http://9140644.blog.51cto.com/9130644/1885873
内容总结
以上是互联网集市为您收集整理的javaScript之数组(二)全部内容,希望文章能够帮你解决javaScript之数组(二)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。