JS随机打乱数组与npm常见命令

举报
龙哥手记 发表于 2022/09/17 14:42:13 2022/09/17
【摘要】 《JavaScript》系列,第二十四篇希望你持续关注哦!

JS随机打乱数组

function shuffle(arr) { // 随机打乱数组
  let _arr = arr.slice() // 调用数组副本,不改变原数组
  for (let i = 0; i < _arr.length; i++) {
    let j = getRandomInt(0, i)
    let t = _arr[i]
    _arr[i] = _arr[j]
    _arr[j] = t
  }
  return _arr
}
function getRandomInt(min, max) { // 获取min到max的一个随机数,包含min和max本身
  return Math.floor(Math.random() * (max - min + 1) + min)
}

::: demo [vanilla]

<html>
  原数组:<span id="span1"></span>
  <button id="btn">click me!打乱数组</button> </br></br>
  打乱结果:<span id="span2"></span>
</html>
<script>
    function getRandomInt(min, max) { // 获取min到max的一个随机数,包含min和max本身
      return Math.floor(Math.random() * (max - min + 1) + min)
    }

    function shuffle(arr) { // 随机打乱数组
      let _arr = arr.slice() // 调用数组副本,不改变原数组
      for (let i = 0; i < _arr.length; i++) {
        let j = getRandomInt(0, i)
        let t = _arr[i]
        _arr[i] = _arr[j]
        _arr[j] = t
      }
      return _arr
    }

    //使用
    function $(el){
      return document.querySelector(el)
    }
    let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    const $span2 = $('#span2');

    $('#span1').textContent = arr;
    $('#btn').onclick = function () {
      $span2.textContent = shuffle(arr);
    }
  </script>

npm常用命令

简介

npm是跟随node一起安装的包(模块)管理器。常见的使用场景有以下几种:

  • 允许用户从npm服务器下载别人编写的第三方包到本地使用。
  • 允许用户从npm服务器下载并安装别人编写的命令行程序到本地使用。
  • 允许用户将自己编写的包或命令行程序上传到npm服务器供别人使用。

常用命令

检测是否安装及版本

npm -v # 显示版本号说明已经安装相应的版本

生成package.json文件

npm init

package.json用来描述项目中用到的模块和其他信息

安装模块

npm install # 安装package.json定义好的模块,简写 npm i

# 安装包指定模块
npm i <ModuleName>

# 全局安装
npm i <ModuleName> -g 

# 安装包的同时,将信息写入到package.json中的 dependencies 配置中
npm i <ModuleName> --save

# 安装包的同时,将信息写入到package.json中的 devDependencies 配置中
npm i <ModuleName> --save-dev

# 安装多模块
npm i <ModuleName1> <ModuleName2>

# 安装方式参数:
-save # 简写-S,加入到生产依赖中
-save-dev # 简写-D,加入到开发依赖中
-g # 全局安装 将安装包放在 /usr/local 下或者你 node 的安装目录

查看

# 查看所有全局安装的包
npm ls -g

# 查看本地项目中安装的包
npm ls

# 查看包的 package.json文件
npm view <ModuleName>

# 查看包的依赖关系
npm view <ModuleName> dependencies

# 查看包的源文件地址
npm view <ModuleName> repository.url

# 查看包所依赖的node版本
npm view <ModuleName> engines

# 查看帮助
npm help

更新模块

# 更新本地模块
npm update <ModuleName>

# 更新全局模块
npm update -g <ModuleName> # 更新全局软件包。
npm update -g # 更新所有的全局软件包。
npm outdated -g --depth=0 # 找出需要更新的包。

卸载模块

# 卸载本地模块
npm uninstall <ModuleName>

# 卸载全局模块
npm uninstall -g <ModuleName> # 卸载全局软件包。

清空缓存

# 清空npm缓存
npm cache clear

使用淘宝镜像

# 使用淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org

其他

# 更改包内容后进行重建
npm rebuild <ModuleName>

# 检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新
npm outdated

# 访问npm的json文件,此命令将会打开一个网页
npm help json

# 发布一个包的时候,需要检验某个包名是否存在
npm search <ModuleName>

# 撤销自己发布过的某个版本代码
npm unpublish <package> <version>

使用技巧

多次安装不成功尝试先清除缓存

npm cache clean -f

查看已安装的依赖包版本号

npm ls <ModuleName>

注意:用此方法才能准确的知道项目使用的版本号,查看package.json时,有“^" 符号表示大于此版本

npm发布包教程

npm发布包教程

nrm的作用与使用

nrm是什么?

nrm(npm registry manager )是npm的镜像源管理工具,有时候国外资源太慢,使用这个就可以快速地在 npm 源间切换

nrm的安装

npm install -g nrm

nrm命令

nrm ls #查看可用的源(有*号的表示当前所使用的源,以下<registry>表示源的名称)
nrm use <registry> # 将npm下载源切换成指定的源
nrm add <registry> <url> # 添加源,url为源的路径
nrm del <registry> # 删除源
nrm test <registry> # 测试源的响应时间,可以作为使用哪个源的参考

nrm help # 查看nrm帮助
nrm home <registry> # 跳转到指定源的官网

nrm使用

如果在你的网络不太理想或者受到其他网络限制导致不能使用npm原本的源进行下载时,nrm就非常有用了,你只需要:

nrm ls # 查看可用的源
nrm use <registry> # 切换到指定源
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

举报
请填写举报理由
0/200