创建数组
1: 常规方式:
var myCars=new Array();
myCars[0]=“Saab”;
myCars[1]=“Volvo”;
myCars[2]=“BMW”;
2: 简洁方式:
var myCars=new Array(“Saab”,“Volvo”,“BMW”);
3: 字面:
var myCars=[“Saab”,“Volvo”,“BMW”];
合并数组 - concat()
合并两个数组
运行结果:Cecilie,Lone,Emil,Tobias,Linus
合并三个数组
1
2</body>
输入10个数,保存在一个数组中,在数组中查找某个数字,给出是否找到信息,如果找到了输出该数在数组中所处的位置,如果找不到输出“找不到”
顾客从超市采购了10件商品,编写一个程序,用于接受每件商品的价格,计算应付的总金额。并分别打印出各个商品的价格以及应付的总金额的小票
定义函数,去掉数组中重复元素
1.循环从arr中取值,i从0,同时创建空数组result
for(var i=0,result=[];i<arr.length;i++){
// 2. 循环遍历result,j从0
for(var j=0;j<result.length;j++){
// 3.如果result中当前元素等于arr中当前元素 arr中的这个数在新数组中已经存在
if(arr[i]result[j]){
break;//退出循环
}
}// 遍历结束
// 如果j等于result的length 表示这个元素在新数组中不存在
if(jresult.length){
// 将arr中当前元素,追加result末尾
result[result.length]=arr[i];
}
1
2
3
4
5
6
7
8
9
10}// 遍历结束 return result;// 给出返回值 } function testUnique(){ var arr=[1,1,2,2,3,4,3,5,6]; var result=unique(arr); console.log(result); }
JS冒泡排序(依次比较相邻的两个值,如果后面的比前面的小,则将小的元素排到前面)
动图演示:
代码:
二维数组1.二维数组的本质:数组中的元素又是数组,数组中的元素又引用了另一个子数组
var data=[
//0,1,2,3
[0,0,0,0],//0
[0,0,0,0],//1
[0,0,0,0],//2
[0,0,0,0]//3
];
//访问 arr[r][c]
小例子:
var arr = [[1,2],[‘a’,‘b’]];
console.log(arr[1][0]);
//输出a 第2列第1行所在的元素
遍历
var arr = new Array(); //先声明一维
for(var i=0;i<5;i++){ //一维长度为5
arr[i]=new Array(i); //在声明二维
for(var j=0;j<5;j++){ //二维长度为5
arr[i][j]=i;
}
}
然后,遍历二维数组arr
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr[i].length;j++){
document.write(arr[i][j]);
}
document.write("
");
}
结果:
题目一:
<button οnclick=“fun()”>计算每一组的平均值、总和
题目二
<button οnclick=“fun()”>按钮
题目三
一家贸易公司有四位销售员,每位销售员负责销售四件商品,编写一个函数,–一个4*4的二维数组
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66接收每名销售员销售的各类产品的数量。--- 二维数组的循环赋值 打印产品销售明细表,--循环读取二维数组的数据 明细表包括每类产品的销售总数,-- cSum 求二维数组中每一列的和 以及每位销售员销售的产品数量 --- rSum 求 二维数组每一行的和 占总销售的 --- sum 求二维数组所元素累加的和 百分比。 --- =rSum/sum 使用以下公式: 销售员N销售的产品A的百分比=(销售员N售出的产品A的销售量/总销售量)*100 arr[r][c]/sum *100 总销售量指各类产品销售量的总和(使用二维数组) --> <script> fun() function fun(){ var arr=[ //0,1,2,3 [0,0,0,0],//0 [0,0,0,0],//1 [0,0,0,0],//2 [0,0,0,0]//3 ];//4*4二维数组 //循环接收每位销售员销售产品的数量 for(var r=0;r<arr.length;r++){ for(var c=0;c<arr[r].length;c++){ arr[r][c]=Number(prompt("请输入第"+(r+1)+"销售员,第"+(c+1)+"类产品的销售数量:")); } } // debugger; /* 1 2 3 4 4 3 2 1 1 2 3 4 4 3 2 1 */ var typeSum=[0,0,0,0];//用来接收每一类销售的总额 var rSum=[0,0,0,0];//每一个销售人员的数量总和 //以上两个数据可以设置为一二维数组 var allSum=0;//全公司的销售总和 for(var r=0;r<arr.length;r++){ for(var c=0;c<arr[r].length;c++){ //计算每一类的销售总额和 typeSum[c]+=arr[r][c]; //计算每一个行的和 rSum[r]+=arr[r][c]; //产品的总销售和 allSum+=arr[r][c]; } console.log(typeSum); } //计算销售占比 var perArr=[]; for(var r=0;r<arr.length;r++){ perArr[r]=new Array(arr.length); for(var c=0;c<arr[r].length;c++){ perArr[r][c]= paresInt((arr[r][c]/allSum)*100); } } console.log(perArr) }
最后
以上就是殷勤大米最近收集整理的关于数组的基础知识以及一些算法题的全部内容,更多相关数组内容请搜索靠谱客的其他文章。
发表评论 取消回复