十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
本篇含有数组去重,最大值最小值,API剩下的四个还有二维数组
成都创新互联公司是专业的滦平网站建设公司,滦平接单;提供成都网站制作、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行滦平网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
一、数组去重、最大值
1.去重(方法很多,这里只写了一种)
var arr=[1,3,4,2,1,3,5,3];
for(var i=0,arr2=[1];i
for(var j=0;j
if(arr[i]==arr2[j]){
break;
}
}
if(j==arr2.length){
arr2[arr2.length]=arr[i];
}
}
console.log(arr2);
2.最大值、最小值和和
var sor=[65,78,56,89,92];
for(var i=0,num=0,num1=65,num2=65;i
num+=sor[i];//和
if(sor[i]num1){
num1=sor[i];//最大值
}
if(sor[i]
num2=sor[i];//最小值
}
}
console.log(num);
console.log(num1);
console.log(num2);
二、栈和队列:
js中没有专门的栈和队列类型,都是用普通该数组模拟的。
何时:只要希望按照顺序使用数组元素时
栈:一端封闭,只能从另一端进出的数组
顺序: FILO
何时:如果希望始终操作最后进入数组的最新的元素时。
如何:
结尾出入栈:
入: arr.push(值);
出: var last=arr.pop();
优:每次出入栈不影响其余元素的位置
开头出入栈:
入: arr.unshift(值);
出: var first=arr.shift();
缺:每次出入栈都会影响每个元素的位置
队列:只能从一端进入,从另一端出
顺序: FIFO
何时:只要按照先来后到的顺序使用元素
如何:
从结尾入队列: arr.push(值)
从开头出队列: var first=arr.shift()
如:var arr=[5,6,7,8,9];
arr.push(10);
console.log(arr);
arr.pop();
console.log(arr);
arr.unshift(4);
console.log(arr);
arr.shift();
console.log(arr);
三、二维数组:
什么是:数组中的元素,又引用了另一个子数组。
何时:
1.存储横行竖列的二维数据
2.对一个大的数组中的元素,进一步分类
如何:
创建:
1.先创建空数组,再添加子数组:
var arr=[];
arr[0]=[2,2,4,0];
arr[1]=[0,2,2,0];
2.在创建数组同时,初始化子数组
var arr=[
[2,2,4,0],//0
[0,2,2,0],//1
...
];
访问元素:
arr[r][c]:访问arr中r位置的子数组中的c位置的元素
越界: r不能越界
遍历:外层循环控制行,内层循环控制列
for(var r=0;r
for(var c=0;c
arr[r][c]//当前元素
}
}
如:var arr=[['w','s','k'],[56,66,32,23],[true,false]];
for(var i=0;i
for(var j=0;j
console.log(arr[i][j]);
}
}
End!
有二种方式:
方法一:直接定义并且初始化
var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]];//定义了一个3*2的二维数组
方法二:未知长度的二维数组
var tArray = new Array(); //先声明一维for(var k=0;ki;k++){ //一维长度为i,i为变量,可以根据实际情况改变 tArray[k]=new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组}
// 都当做字符串 String[][] arr = { { "a", "b", "cd", "e efg" }, { "1", "2" } }; // 或者定义为Object类型数组 Object[][] brr = { { "a", "b", "cd", "e efg" }, { 1, 2 }, { 'a', 'b' } };