0
点赞
收藏
分享

微信扫一扫

数组的小典例

勇敢的趙迦禾 2022-03-24 阅读 75
javascript

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);

 

 

举报

相关推荐

0 条评论