美文网首页
07-26 js习题

07-26 js习题

作者: 小本YuDL | 来源:发表于2018-07-26 21:47 被阅读13次

1.打平嵌套数组 [1, [2, [3], 4], 5] => [1, 2, 3, 4, 5]

let arr = [1,[2,[3],4],5];
    var brr=arr.toString().split(",");//先转换成字符串再转换成字符数组
    for(var i=0;i<brr.length;i++){
        brr[i]=parseInt(brr[i])
    }
    console.log(brr);

2.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序。

   let arr = [];
    function Random_sort() {
        for(let i = 0;i<10;i++)
        {
            let per = Math.floor(Math.random()*90+10);
            arr.push(per);
        }
        return  arr.sort();
    }
    console.log(Random_sort());

3 .寻找两个有序数组最小相同元素
a = [1, 2, 5, 9, 10]
b = [3, 4, 6, 9, 10]

  let arr = [4, 3, 5, 9, 10];
  let brr = [3, 4, 5, 9, 10];
  let crr = [];
  function min_same(arr,brr) {
      for(let i = 0;i<arr.length;i++){
          for(let j= 0;j<brr.length;j++){
              if(arr[i] === brr[j]){
                  crr.push(arr[i]);
              }
          }
      }
     return  Math.min.apply(null,crr);//找出最小值
  }
  console.log(min_same(arr,brr));


方法: alert(Math.max.apply(null, arr));//最大值
alert(Math.min.apply(null, arr));//最小值

4.选择题
1.(true + false) > 2 + true;
执行代码该代码的结果是
A.True B.false C.TypeError D.NaN

2.执行如下代码:
function aaa(){
return
{
test:1;
};
}
alert(typeof aaa());
A.Function B.object C.number D.undefined
因为return 后面加换行,js中会自动在后面添加一个分号,所以返回值为undefined。

3.执行如下代码:
function bar(){
return foo;
foo=10;
function foo(){}
var foo="11";
}
alert(typeof bar());
A.number B.function C.undefined D.string E.Error
函数声明会被提前,所以先执行 function foo(){},再返回,结果就是function。

★打平嵌套数组小方法

1.flatten()
var flatten = function(input, shallow, strict, startIndex) {
// ...
};
flatten()有四个参数。
input即为需要展开的数组;
shallow是个布尔值,如果为 false,则表示数组是深度展开,如果为 true 则表示只展开一层;
startIndex表示数组展开的起始位置;
strict 也是个布尔值,当 shallow 为 true 并且 strict 也为 true 时,能过滤 input 参数元素中的非数组元素。如果 strict 为 true 并且 shallow 为 false,那么调用 flatten 方法的结果只能是 []。(有点难哇)

var res = flatten([5, 6, [1, 2], [3, 4]], true, true);
console.log(res); // => [1, 2, 3, 4]
深度展开,过滤掉非数组元素,则5,6被过滤掉了。

2.数据类型转换

var add=arr.join(",").split(",")// 或者:var add=arr.toString().split(",")
先转换成字符串再转换成字符数组
for(var i=0;i<add.length;i++){
     add[i]=parseInt(add[i])
}
console.log(add);

3.递归

var arr2=[];
function result(arr1,arr2){
for(var i=0;i<arr1.length;i++){
     if(typeof arr1[i]==="number"){
            arr2.push(arr1[i]);
     }
    else{
         result(arr1[i],arr2);
   }
}
}
result(arr,arr2);
console.log(arr2);

相关文章

  • 07-26 js习题

    1.打平嵌套数组 [1, [2, [3], 4], 5] => [1, 2, 3, 4, 5] 2.用js实现随机...

  • js习题练习

    效果,实现代码reduce效果 效果实现一个flatten函数,将一个嵌套多层的数组 array(数组) (嵌套可...

  • js练习题

    1. console.log(typeof typeof typeof null) typeof null // ...

  • JS练习题

    题一: 给你一个整数数组arr,请你帮忙统计数组中每个数的出现次数。如果每个数的出现次数都是独一无二的,就返回tr...

  • js this 练习题

    https://www.cnblogs.com/zjx304/p/10671243.html

  • 07-26

    早安! 昨晚,到Anson那边喝茶到11点。然后洗澡睡觉。然后整个人都不好了。辗转反侧,完全没有睡意。似乎到了12...

  • 07-26

    继续继续✌✌ 一、日常任务 1.早起 在7点前起床,并在营里打卡,完成。 9点之前在营里做#晨间分享#,完成。 2...

  • 07-26

    读到朱光潜先生的人生信条,深深觉得作为当代的青年应当铭记。 “我把我的信条叫作“三此主义”,就是此身,此时,此地。...

  • 07-26

    【2016】 2016.7.26 打卡第163天 一、Oscar,今天很安静啊 Oscar,我也不晓得这种侥幸心理...

  • vue.js遇上django产生的模版冲突问题

    刚刚,在做一个vue.js的练习题——to do list 出现了以下问题: 后来得知是vue.js和django...

网友评论

      本文标题:07-26 js习题

      本文链接:https://www.haomeiwen.com/subject/sshimftx.html