文章目录

  • 一、题目
  • 二、代码
  • 三、处理数组方法
  • 四、JavaScript概念
  • 五、热门文章


一、题目

编写一个javscript函数 fn,该函数有一个参数 n(数字类型),其返回值是一个数组, * 该数组内是 n 个随机且不重复的整数,且整数取值范围是 [2, 32]。

二、代码

//返回数组
function numArr(n){
  var randArr = [],temNum;

  //将整数取值范围作为变量提取出来
  var min = 2, max = 32;

  if(n==0 || n > 31) return false


  //参数校验
  // if(!isThere(n)) return [];//是否存在
  // if(!typeOK(n) && !isOKStr(n)) return [];//n的类型是否为数据类型

  // n = formatInitNum(n);
  // if(!rangeOK(n, min, max)) return [];//校验范围

  for(var i=0;i<n;i++){
    temNum = randNum(min,max);
    if(randArr.length>0){
      var checknum = checkArr(randArr,temNum);
      if(checknum){
        i--;
      }else{
        randArr.push(temNum);
      }
    }else{
      randArr.push(temNum);
    }
  }

  return randArr
}

//获取单个随机数
function randNum(min,max){
  var range = max-min;
  var rand = Math.random();
  return (min+Math.round(rand*range))
}

//判断随机数是否重复
function checkArr(arr,num){
  let temArr = arr;
  var count = 0; //数字重复次数
  for(var i=0;i<arr.length;i++){
    if(arr[i]==num){
      count++
    }
  }

  return (count>0?true:false)

}


//数组排序--查看有没有相同的数组
function sortArr(limit){
  var temArr = numArr(limit),temNum;
  for(var i=0;i<temArr.length;i++){
    for(var j=i+1;j<temArr.length;j++){
      if(temArr[j]>temArr[i]){
        temNum = temArr[j];
        temArr[j] = temArr[i];
        temArr[i] = temNum;
      }
    }
  }

  return temArr;
}

//显示数组
document.write(sortArr(30)+'</br>');
document.write('输入长度:30,实际长度:'+sortArr(30).length);
// document.write(numArr(30));

三、处理数组方法

JavaScript提供了许多处理数组的方法,下面是一些常用的方法及其案例代码。

  1. push()方法:向数组末尾添加一个或多个元素。
var fruits = ["apple", "banana"];
fruits.push("orange", "grape");
console.log(fruits); // ["apple", "banana", "orange", "grape"]
  1. pop()方法:从数组末尾移除一个元素,并返回该元素。
var fruits = ["apple", "banana", "orange"];
var removedFruit = fruits.pop();
console.log(removedFruit); // "orange"
console.log(fruits); // ["apple", "banana"]
  1. shift()方法:从数组开头移除一个元素,并返回该元素。
var fruits = ["apple", "banana", "orange"];
var removedFruit = fruits.shift();
console.log(removedFruit); // "apple"
console.log(fruits); // ["banana", "orange"]
  1. unshift()方法:向数组开头添加一个或多个元素。
var fruits = ["banana", "orange"];
fruits.unshift("apple", "grape");
console.log(fruits); // ["apple", "grape", "banana", "orange"]
  1. concat()方法:合并两个或多个数组,返回一个新数组。
var fruits1 = ["apple", "banana"];
var fruits2 = ["orange", "grape"];
var mergedFruits = fruits1.concat(fruits2);
console.log(mergedFruits); // ["apple", "banana", "orange", "grape"]
  1. slice()方法:从数组中提取指定的部分元素,返回一个新数组。
var fruits = ["apple", "banana", "orange", "grape"];
var selectedFruits = fruits.slice(1, 3);
console.log(selectedFruits); // ["banana", "orange"]
  1. splice()方法:从数组中添加或删除元素。
var fruits = ["apple", "banana", "orange"];
fruits.splice(1, 1, "grape", "kiwi");
console.log(fruits); // ["apple", "grape", "kiwi", "orange"]
  1. forEach()方法:对数组中的每个元素执行一个函数。
var fruits = ["apple", "banana", "orange"];
fruits.forEach(function(fruit) {
  console.log(fruit);
});
// 输出:
// "apple"
// "banana"
// "orange"

四、JavaScript概念

JavaScript是一种广泛使用的编程语言,主要用于网页开发。

JavaScript的基本概念:

  • 变量和数据类型:在JavaScript中,你可以使用变量来存储各种数据,如数字、字符串、布尔值、对象、数组等。JavaScript是一种弱类型语言,这意味着变量的类型可以在运行时改变。
  • 函数:函数是一段可重复使用的代码块,可以接受参数并返回一个值。在JavaScript中,函数可以作为一等公民,可以作为参数传递给其他函数,也可以作为变量存储。
  • 对象:对象是包含属性和方法的集合。属性是变量,方法则是函数。在JavaScript中,对象是使用花括号{}来创建的。
  • 事件:事件是用户与网页交互时发生的事情,如点击、鼠标移动、键盘输入等。JavaScript允许你定义事件处理程序,以便在事件发生时执行特定的代码。
  • DOM(文档对象模型):DOM是HTML和XML文档的编程接口,它提供了一种方式来访问和操作文档的结构。在JavaScript中,你可以使用DOM来动态地修改网页内容、结构和样式。
  • 异步编程:JavaScript是单线程的,这意味着它一次只能执行一个任务。为了提高性能并允许用户与网页交互,JavaScript使用异步编程模型,如回调函数、Promises和async/await。
  • 模块和模块化:在现代JavaScript开发中,模块是一种组织代码的方式。通过模块化,你可以将代码分解为独立的文件,每个文件都有一个特定的功能或任务。

JavaScript 是脚本语言
JavaScript 是一种轻量级的编程语言。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
JavaScript 是 web 开发人员必须学习的 3 门语言中的一门:HTML 定义了网页的内容,CSS 描述了网页的布局,JavaScript 控制了网页的行为。