ES5-15 数组基础、数组方法、数组排序

创建数组

  1. 字面量 var arr = []
  2. 构造函数 var arr = new Array()
  3. 不使用new var arr = Array()
    所有数组都继承于Array.prototype,能使用其中的数组方法
    数组是另一种形式的对象,访问机制相同
  4. 数组的empty项打印出来是undefined,empty不是值只是一个空的标识
  • 稀松数组
    最后一个,后若是空值,则不计入(最后一个逗号忽略)
    并非每位都有值
    在这里插入图片描述
  • 使用构造函数,不能有空值,否则报语法错误
  • new Array()的参数用于设置数组长度,或设置数组
    在这里插入图片描述
  • 数组是对象的另一种形式
    在这里插入图片描述

数组方法

  • 数组方法 - 继承了数组原型上的方法

push、unshift

  • push、unshift(返回值:执行了方法以后数组长度)

  • push在最后加,unshift在头部加

  • 可以添加多个
    在这里插入图片描述
    在这里插入图片描述

  • 手写push方法

Array.prototype.myPush = function () {let arr = this // 谁调用,this就指向谁for (var i = 0; i < arguments.length; i++) {arr[arr.length] = arguments[i]arr.length++ // 长度自增}return arr.length
}
var arr = [1, 2, 3]
console.log(arr.myPush(4, 5, 6)) // 6
console.log(arr) // 123456

pop、shift

  • 剪切、返回剪切掉的那个值
  • 无参数
  • pop剪切末位、shift剪切首位

reverse

  • 倒序

splice

  • arr.splice(开始项的下标,删除长度,删除以后在当前指针开始添加数据)

  • 第三个参数可以传多个值(添加多个值)

  • 用于添加时,理解为在哪个下标添加

  • 返回值空数组
    在这里插入图片描述

  • 可传负数,最后一位的index认为是-1,在index前添加
    在这里插入图片描述
    在这里插入图片描述

  • 用splice重写unshift

  • sort return 0

sort

  • 返回排序后的数组
  • sort是按照ASCII码排列的(未传参时)
    在这里插入图片描述
  • 传fn,定义排序方式
  • 升序排return负值(a-b),降序排return正值(b-a)
    在这里插入图片描述
  • 随机排序
    在这里插入图片描述
  • 对象
    在这里插入图片描述
    在这里插入图片描述

练习

  1. 用splice方法重写原型上的unshift方法
Array.prototype.myUnshift = function () {this.splice(0, 0, ...arguments)return this.length
}
var arr = [3, 4, 5]
console.log(arr.myUnshift(1, 2)) // 5
console.log(arr) // 1 2 3 4 5

在这里插入图片描述

or

Array.prototype.myUnshift = function () {var fontArr = Array.prototype.slice.call(arguments)return fontArr.concat(this)
}
var arr = [3, 4, 5]
console.log(arr.myUnshift(1, 2)) // 5
  1. 按照字节数排列数组[]
var arr = ['夜阑人静初', '响起了', '悠悠的Saxophone']
function computeByte(str) {var byte = str.lengthfor (var i = 0; i < str.length; i++) {let code = str.charCodeAt(i)byte += code > 255 ? 1 : 0}return byte
}
console.log(arr.sort(function (a, b) {return computeByte(a) - computeByte(b)
}))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/251159.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue --- vue中的几个钩子属性

1.创建前:beforeCreate <div id"app">{{name}}</div><script>let app new Vue({el:#app,data:{name:31231312},beforeCreate(){console.log(挂在前);console.log(this.$data);console.log(this.$el);}})</script>// beforeCreate()是在Vue挂…

ES5-16【utils】数组方法、类数组

数组方法 concat 返回值是拼接后的数组 toString 将数组转成字符串&#xff0c;用逗号隔开 slice(a&#xff0c;b) [a&#xff0c;b) 不传值&#xff0c;拷贝了一份不传b&#xff0c;截取到最后一位传b&#xff0c;截取到b之前的那位a/b是负数&#xff08;和splice一样&a…

Catalan卡塔兰数

卡塔兰数 卡塔兰数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁查理卡塔兰 (1814–1894)命名。 卡塔兰数的一般项公式为 另类递归式&#xff1a; h(n)((4*n-2)/(n1))*h(n-1); 前几项为: 1, 1, 2, 5, 14, 42, 132, 429, …

vue --- v-html、v-bind

v-html // 有时候,我们需要展示<strong>,但直接使用下面的语法并不会显示 <div id "app">{{name}}</div><script>let app new Vue({el:#app,data:{name:<strong>啦啦啦</strong>}}); </scritp> // 结果当然没让人失望此…

ES5-17/18 错误信息、try_catch、严格模式

错误信息 语法错误 标识符名称&#xff08;变量、函数名&#xff09;不规范对关键字赋值基本语法错误&#xff0c;如分号打错 引用错误 变量、函数未声明给无法赋值的对象赋值var a 1 2 范围错误 数组长度为负数方法参数超出可行范围toFixed(-1) 类型错误 调用不存在…

vue --- v-text、v-show、v-if、v-else

v-text: <div id "app"><p v-text"msg"></p> </div> <script>let app new Vue({el:#app,data:{msg:Hello Vue}}) </script>// 可见v-text在某种程度上等价于 {{}}v-show: <div id "app"><div…

vue --- v-for、v-on、v-model、v-once

v-for: <div id "app"><ul><li v-for"item in list">{{item}}</li></ul> </div> <script>let app new Vue({el:#app,data:{list:[B,A,T]}}) </script>拿到索引index: <div id"app">&…

ES5-19 变量声命周期、垃圾回收原理、arguments

变量声命周期 垃圾回收 找出不再使用的变量释放其占用内存固定的时间间隔运行 解除由于闭包产生的对fn AO的引用 标记清除 排除全局变量、排除闭包引用的AO中的变量进入环境 → 离开环境常用 引用计数 引用计数为0时清除对循环引用的情况&#xff0c;如果不手动接触引用…

vue --- compoent妙用

首先利用写一个静态模板的组件 <div id "app"><my-arti></my-arti> </div> <script>Vue.component(my-arti,{template:<div style"border:1px solid black"><span>date:2019年06月14日</span><br>…

ES5-20 复习

3-1 变量单一声明方式String Boolean undefined Number nullundefined nulltypeof(null) ‘object’typeof(方法) ‘function’typeof() 是运算符&#xff0c;不是数据类型 报错0 -0 trueInfinity -Infinity falseNaN和谁都不等原始值没有属性 要打印属性、调用方法得经过基…

eclipse中去掉警告提示

有时候我们要去掉这些不必要的提示 下面我们来设置去掉这些警告提示 转载于:https://www.cnblogs.com/xiaostudy/p/9370016.html

vue --- vue-router

vue-router的CDN <script src "https://unpkg.com/vue-router2.5.3/dist/vue-router.js"></script>// 当然还需要导入vue的cdn <script src"https://cdn.jsdelivr.net/vue/2.1.3/vue.js"></script>使用router-link(to)添加点击链…

django-restframework使用

安装restframework: pip install djangorestframework 修改项目settings.py: INSTALLED_APPS [django.contrib.admin,django.contrib.auth,django.contrib.contenttypes,django.contrib.sessions,django.contrib.messages,django.contrib.staticfiles,rest_framework, ]修改项…

JSON基础与数据解析、JSON方法、AJAX初识

JSON JavaScript Object Notation js对象标记是对象&#xff0c;是轻量级数据交互的格式&#xff0c;不能有方法它基于 JavaScript 语法&#xff0c;但与之不同&#xff1a;JavaScript不是JSON&#xff0c;JSON也不是JavaScript映射用:隔开并列数据用,隔开映射的集合用{}包裹键…

iOS开发经验总结

在iOS开发中经常需要使用的或不常用的知识点的总结&#xff0c;几年的收藏和积累&#xff08;踩过的坑&#xff09;。 一、 iPhone Size 二、 给navigation Bar 设置 title 颜色 123UIColor *whiteColor [UIColor whiteColor];NSDictionary *dic [NSDictionary dictionaryWit…

ES5 数组扩展方法 forEach/filter/map的使用与重写

ES3 splice slice join sort &#xff08;IE5、IE6&#xff09; 数组扩展方法 ES5&#xff08;在ES3的基础上增加、修正&#xff09; forEach 可能会改变原数组(直接操作了arr[i]&#xff0c;没有使用深拷贝)参数1&#xff1a;回调函数&#xff08;如果不使用箭头函数&#xf…

187. Repeated DNA Sequences重复的DNA子串序列

&#xff3b;抄题&#xff3d;&#xff1a; All DNA is composed of a series of nucleotides abbreviated as A, C, G, and T, for example: "ACGAATTCCG". When studying DNA, it is sometimes useful to identify repeated sequences within the DNA. Write a fun…

ES5 every/some/reduce/reduceRight的使用与重写

被作为实参传入另一函数&#xff0c;并在该外部函数内被调用&#xff0c;用以来完成某些任务的函数&#xff0c;称为回调函数。 break、return用于终止循环的区别&#xff1a; return只能用在函数体内&#xff08;单独一个for循环里直接用return会报错&#xff09;对于多层循环…

【前端统计图】echarts改变颜色属性的demo

一&#xff1a;柱状图改变颜色 图片.png代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title></head><body><!-- 柱状统计图 --><div class"row"><div …

elasticsearch5.x:查询建议介绍、Suggester 介绍以及Java-api实现

elasticsearch5.x&#xff1a;查询建议介绍、Suggester 介绍 参考&#xff1a;http://www.cnblogs.com/leeSmall/p/9206646.html 参考(重点)&#xff1a;https://elasticsearch.cn/article/142 参考&#xff08;官网&#xff09;&#xff1a;https://www.elastic.co/guide/en/e…