1、编写函数map(arr) 把数组中的每一位数字都增加30%,并返回一个新数组
var newArr = [];
function map(arr) {
for (var v of arr) {
newArr.push(v * 1.3);
}
return newArr;
}
var result = map([10, 100, 1000]);
console.log(result);
2、编写函数 判断数组中是否存在60这个元素,返回布尔类型
function has(arr, num) {
for (var v of arr) {
if (v == num) {
return true;
}
}
// 函数的代码能执行到这里,说明循环中 return true 没有执行,没有元素跟num相等
return false;
}
var result = has([2, 4, 5, 6, 2, 1], 60);
console.log(result);
function has2(arr, num) {
if (arr.indexOf(num) == -1) {
return false;
} else {
return true;
}
}
var result = has2([2, 4, 5, 60, 2, 1], 60);
console.log(result);
var arr = [2, 4, 5, 60, 2, 1];
console.log(arr.includes(60));
3、 编写函数norepeat(arr) 将数组的重复元素去掉,并返回新的数组
var arr = [1, 1, 2, 3, 4, 4, 2, 1, 3, 5];
var newArr = [];
function norepeat(arr) {
for (var v of arr) {
//v 是否在 newArr 中
if (newArr.indexOf(v) == -1) {
newArr.push(v);
}
}
return newArr;
}
console.log(norepeat(arr));
4、 有一个从小到大排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。
var arr = [1, 2, 4, 5, 6];
arr.push(3);
arr.sort(function (a, b) {
return a - b;
});
console.log(arr);
var num = 3;
for (var i in arr) {
var v = arr[i];
if (num <= v) {//比较数组元素和要插入元素的大小
var index = i;//记录该元素的索引
break;
}
}
arr.splice(index, 0, num);
console.log(arr);
var arr = [1, 2, 4, 6, 7, 10];
function insert(m) {
if (m > arr[arr.length - 1]) {
//因为这是一个从小到大的数组,让插入的元素与最后一个数的对比
arr.push(m);
document.write(arr); //直接返回输出结果
} else {
for (var i = 0; i < arr.length; i++) {
if (m <= arr[i]) {
//让插入的元素m和arr数组里的每个值进行比较
arr.splice(i, 0, m); //在第i个地方插入m
break; //打断循环,不然会一直下去,造成死循环。
}
}
document.write(arr);
}
}
insert(5);