JS基础的数组小练习
注意:type
- text/html
- text/javascript
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>数组</title>
</head>
<body>
<script type="text/html">
//var name = "张三,李四,王五";
//1.使用Array 构造函数
/* var arr1 = new Array();//空数组
var arr2 = new Array(20);//长度20的数组
var arr3 = new Array("溶解莉莉丝","melt lilith",10);
console.log(arr1);
console.log(arr2);
console.log(arr3);*/
//2.使用数组字面量
var arr4 = [];
var arr5 = [30];
console.log(arr4);
console.log(arr5);
</script>
<script type="text/html">
var person = ["张三", "男", "23"];
console.log(person);
//找出数组中的偶数
var number = [10, 1, 19, 22, 73];
for(var i=0; i < number.length; i++){
var item = number[i];
if(item % 2 === 0){
console.log(item);
}
}
</script>
<script type="text/html">
//求一组数的最大值和最小值,以及所在位置
//1.定义变量
var numArr = [1, 99, 88, -100, 77, 888];
var maxValue = numArr[0], minValue = numArr[0];
var maxIndex = 0,minIndex = 0;//最大索引 最小索引
//2.遍历数组
for(var i=1; i< numArr.length; i++){
//如果数组中的元素大于我们定义的初始值
if (numArr[i] > maxValue){
//把这个元素赋予最大值,并改变索引
maxValue = numArr[i];
maxIndex = i;
}
if (numArr[i] < minValue){
minValue = numArr[i];
minIndex = i;
}
}
console.log(maxValue);
console.log(maxIndex);
console.log(minValue);
console.log(minIndex);
</script>
<script type="text/html">
//将数组中值为0的数去掉,不为0的存入一个新数组
var arr = ["陈英俊", 18, 0, "中", 0, 8008208820];
var newArr = [];
for(var i=0; i< arr.length; i++){
if(arr[i] !==0){
newArr[newArr.length] = arr[i];
}
}
console.log(newArr);
</script>
<script type="text/html">
// join(separator)
var arr = ["刘油",20,"杀马特"];
console.log(arr.join("|"));
</script>
<script type="text/html">
//push()和pop()
var arr = ["尼禄","冲田总司","张伟"];
var count = arr.push("达芬奇","福尔摩斯");
console.log(count);
console.log(arr);
var item = arr.pop();
console.log(item);
console.log(arr);
</script>
<script type="text/html">
//shift()删除数组的第一项,并返回删除元素的值,如果数组为空则返回undefined
//unshift()将参数添加到原数组的开头,并返回数组的长度
var arr = ["张三","李四","王五"];
console.log(arr.shift());
console.log(arr.shift());
console.log(arr);
var count = arr.unshift("二吊蛋","愣头青");
console.log(count);
console.log(arr);
</script>
<script type="text/html">
var arr = ["张三","李四","王五"];
arr.reverse();
console.log(arr);//反转数组项
</script>
<script type="text/html">
//concat()将参数添加到原有数组中,这个方法会先copy一个当前的数组,然后将接收到的参数添加到这个copy的数组的末尾,最后返回新构建的数组,在没有给concat()方法传递参数的情况下,它只是复制了当前的数组并返回
var arr = [1, 3, 5, 7, 9];
var copyArr = arr.concat(11, "王老五");
console.log(arr);
console.log(copyArr);
arr.push([11,17]);
console.log(arr);
</script>
<script>
//indexOf()和lastIndexOf 这两个方法都返回要查找的项在数组中的位置或者在没找到的情况下返回-1
//在比较第一个参数与数组中的每一项时,会使用全等操作符
//indexOf() 接收两个参数: 要查找的项和(可选的)表示查找起点位置的索引。其中。从数组的开头开始向后查找
//lastIndexOf() 接收两个参数:要查找的项和(可选的)表示查找起点位置的索引。其中,从数组的末尾开始向前查找。
var arr = [2, 4, 6, 8, 8, 6, 4, 2];
console.log(arr.indexOf(4, 2));
console.log(arr.lastIndexOf(4, 6));
console.log(arr.indexOf("4")); //返回-1
</script>
</body>
</html>