第一题 新建一个数组,里面存放10个整数(1-10)
思路:
核心原理:使用循环来追加数组。
1、声明一个空数组 arr。
2、循环中的计数器 i 可以作为数组元素存入。
3、由于数组的索引号是从0开始的, 因此计数器从 0 开始更合适,存入的数组元素要+1。
var arr = [];
for (var i = 0;i < 10;i++){
//arr = i;不要直接给数组名赋值 否则以前的元素都没了
arr[i]=i+1;
}
console.log(arr);
第二题 将数组 [2, 0, 6, 1, 77, 0, 52, 0, 25, 7] 中大于等于 10 的元素选出来,放入新数组。
思路:
1、声明一个新的数组用于存放新数据newArr。
2、遍历原来的旧数组, 找出大于等于 10 的元素。
3、依次追加给新数组 newArr。
第一种方法
第一种方法思路
newArr[newArr.length] = arr[i];的思路 假如设置数组里面的元素 【10,20,30】
/*var arr2 = [];
//arr2的长度为0;
arr2[arr2.length] = 10;
//arr2的长度为1;
arr2[arr2.length] = 20;
//arr2的长度为2;
arr2[arr2.length] = 30;*/
var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
var newArr = [];
//刚开始newArr.length 就是 0
for(var i =0; i < arr.length;i++){
if(arr[i] >= 10){
//新数组的索引号应该从0开始 依次递增
newArr[newArr.length] = arr[i];
}
}
console.log(newArr);
第二种方法
var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
var newArr = [];
var j = 0;
for(var i =0; i < arr.length;i++){
if(arr[i] >= 10){
//新数组的索引号应该从0开始 依次递增
newArr[j] = arr[i];
j++;
}
}
console.log(newArr);
第三题 将数组[2, 0, 6, 1, 77, 0, 52, 0, 25, 7]中的 0 去掉后,形成一个不包含 0 的新数组。
1、需要一个新数组用于存放筛选之后的数据。
2、遍历原来的数组, 把不是 0 的数据添加到新数组里面(此时要注意采用数组名 + 索引的格式接收数据)。
3、新数组里面的个数, 用 length 不断累加。
var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7];
var newArr =[];
for(var i =0;i < arr.length;i++){
if(arr[i] != 0){
newArr[newArr.length]=arr[i];
}
}
console.log(newArr);
第四题 将数组 [‘red’, ‘green’, ‘blue’, ‘pink’, ‘purple’] 的内容反过来存放
1、声明一个新数组 newArr
2、把旧数组索引号第4个取过来(arr.length - 1),给新数组索引号第0个元素 (newArr.length)
3、我们采取 递减的方式 i–
var arr = ['red', 'green', 'blue', 'pink', 'purple', 'hotpink'];
var newArr = [];
for (var i = arr.length - 1; i >= 0; i--) {
newArr[newArr.length] = arr[i]
}
console.log(newArr);
// 复习交换两个变量
var num1 = 'pink';
var num2 = 'yellow';
//声明第三方变量
var temp;
temp = num1;
num1 = num2;
num2 = temp;
console.log(num1, num2);
冒泡排序:是一种算法,把一系列的数据按照一定的顺序进行排列显示(从小到大或者从大到小)
第五题
//var arr = [5, 4, 3, 2, 1];
var arr = [4, 1, 2, 3, 5];
for (var i = 0; i <= arr.length - 1; i++) { // 外层循环管趟数 5个数据一共需要躺
for (var j = 0; j <= arr.length - i - 1; j++) { // 里面的循环管 每一趟的交换次数
// 第一次交换4次 第一次交换3次 第一次交换2次 第一次交换1次
// 内部交换2个变量的值 前一个和后面一个数组元素相比较
if (arr[j] < arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr);
第六题
把数组中的每个元素用|拼接到一起, 产生一个字符串并打印在控制台
// 10|20|30|40|50|60
var arr4 = [10, 20, 30, 40, 50];
//设置空字符串
var str = "";
//分析:
str = str + arr4[0] +"|";
console.log(str);
str = str + arr4[1] +"|";
console.log(str);
str = str + arr4[2] + "|";
console.log(str);
//法一: 把竖线拼接在后面
for(var i = 0; i < arr4.length - 1 ; i++){
// str = str + arr4[i] + "|";
str += arr4[i] + "|";
}
//因为最后一个元素后面没有竖线, 所以循环条件是length -1, 然后需要手动拼接最后一个元素
console.log(str + arr4[arr4.length - 1]);
法二: 把竖线拼接在前面
分析:
str = arr[0];
str = str + "|" + arr[1];
console.log(str);
str = str +"|" + arr4[2] ;
console.log(str);
str = str + "|" + arr4[3];
console.log(str);