js数组、对象、函数基础知识点及数组类习题练习

1、数组:数组是使用单独的变量名来存储一系列的值。

(1)定义方式:3种

------------------空数组   var a=new Array();var a=[  ];var a=new Array(数组长度)

-------------------有数值的组:var a=new Array("1","2","3");var a=[1,2,3];

-----------------------有数值的组中以上面为例数组长度为3,a[0]=1;a[1]=2;a[2]=3,下标从0开始,数组第一个下标为0。

------------------往数组中添加元素push:例如:

var a=[1,3,2];

var b=[4,5,6]

a.push(b[0]);

console.log(a);......将b数组中下标为0的值即4,添加到a数组中,运行后为a=[1,2,3,4]。

---------------------遍历数组for循环和for-in循环:

-for循环练习:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
</body>
</html>
<script type="text/javascript">
1、将数组中数字内容求和var attr = [12,34,2,5,76];
var attr=[12,34,2,5,76];
var sum=0;
for (var i=0;i<attr.length;i++) {
sum=attr[i]+sum;
document.write(sum+",");
}
2、var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];要求将数组中的0项去掉,将不为0的值存入一个新的数组,生成新的数组
var arr = [4, 0, 7, 9, 0, 0, 2, 6, 0, 3, 1, 0];
var new_arr=[];
for(var i=0;i<arr.length;i++){
if(arr[i]!=0)
{
new_arr.push(arr[i]);
}
console.log(new_arr);
}
document.write(new_arr);
3、写出一个javascript的函数,实现对一个数组去重的功能。构建一个新的数组存放结果。
for循环中每次从原数组中取出一个元素,用这个元素循环与结果数组对比。 若结果数组中
没有该元素,则存到结果数组中。var attr =[2,34,2,5,6,9,8,6,4,34,67,6]; 

方法一:
var attr =[2,34,2,5,6,9,8,6,4,34,67,6];
var newattr=[];
for (var i=0;i<attr.length;i++){
if(newattr.indexOf(attr[i])==-1){
newattr.push(attr[i]);
}
}
alert(newattr);
方法二:
var attr =[2,34,2,5,6,9,8,6,4,34,67,6];
var newattr=[];
var flag=true;
for (var i=0;i<attr.length;i++){
flag=true;
for(j=0;j<newattr.length;j++){
if(newattr[j]==attr[i]){
flag=false;
}
}
if(flag){
newattr.push(attr[i]);
}
}
console.log(newattr);*/
4、数组最大值var attr = [12,34,2,5,76];
var attr = [12,34,2,5,76];
var max=attr[0];
for(var i=0;i<attr.length;i++){
if(attr[i]>max){
max=attr[i];
}
max=attr[i]>max?attr[i]:max;
}
alert(max)
5、.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序。
var attr=[];
for (var i=0;i<10;i++) {
attr[i]=parseInt(Math.random()*90+10);

console.log(attr);
}
for(var j=0;j<attr.length-1;j++){
for(var k=j+1;k<attr.length;k++){
if(attr[j]>attr[k]){
var zhong=attr[j];
attr[j]=attr[k];
attr[k]=zhong;
}
}
}
console.log(attr);
6、.往数组里面添加数据的时候去重
var attr=[]
for(i=0;i<10;i++){
//var num=parseInt(Math.random()*5);
var num=prompt("请输入一个数字")
if(attr.indexOf(num)==-1){
attr.push(num);
}
}
console.log(attr);
7、用js实现随机选取10~100之间的10个数字,存入一个数组,并排序。
var attr=[];
for(i=0;i<10;i++){
attr[i]=parseInt(Math.random()*90+10);
}
for(j=0;j<attr.length-1;j++){
  for(k=j+1;k<attr.length;k++){
  if(attr[j]>attr[k]){
var a=attr[j];
attr[j]=attr[k];
attr[k]=a;
}
}
}
console.log(attr)
</script>

原文地址:https://www.cnblogs.com/yang1182/p/9506618.html