IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 数组极值 自定义push pop forEach map -> 正文阅读

[JavaScript知识库]数组极值 自定义push pop forEach map

// 1、求数组极值
// 方式1:使用排序函数
let arr = [23, 2, 34, 5, 2, 123];
let newArr = arr.sort(function (a, b) {
  return b - a
})
console.log(newArr)

// 方式2:假设法,假设第一个最小
let min = arr[0];
for (let i = 0; i < arr.length; i++) {
  min = min > arr[i] ? min : arr[i]
}
console.log(min)

for (const [item, index] of arr.entries()) {
  console.log(item, index)
}

// 方式3: 使用Math.min/max, arr需要展开
let min3 = Math.min(...arr);
let max3 = Math.max(...arr)
console.log('min3', min3);
console.log('max3', max3);
console.log('------------')


// 2、数组方法push自定义实现
let ary = [1, 3, 5, 7];

var r = ary.push(9, 10);
console.log(ary);
console.log(r);
Array.prototype.mypush = function (...args) {
  // console.log(args) //[ 1, 2, 3, 4 ]
  for (let i = 0; i < args.length; i++) {
    this[this.length] = args[i]
  }
  return this.length
}
console.log('ary----', ary);
ary.mypush(1, 2, 3, 4)
console.log('ary====', ary)


// 3、数组方法pop自定义实现
// ary.pop()
Array.prototype.mypop = function () {
  // this就是调用的数组实例
  let last = this.length - 1
  this.length = last
  return this
}
ary.mypop();
ary.mypop();
ary.mypop();
console.log('pop之后', ary)

// 4、 数组forEach方法自定义实现
Array.prototype.myforeach = function (calback) {
  for (let i = 0; i < this.length; i++) {
    calback(this[i], i)
  }
}
ary.forEach((item, index) => console.log(item, index))

// 5、数组map方法自定义实现
Array.prototype.mymap = function (calback) {
  let newArr = []
  for (let i = 0; i < this.length; i++) {
    calback(this[i], i)
    newArr.push(this[i])
  }
  return newArr
}
let map1 = ary.map((item, index) => {
  return item * 10
})
console.log('map====', map1)
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-05-12 16:23:29  更:2022-05-12 16:25:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 20:34:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码