美文网首页
js 集合对象

js 集合对象

作者: Viewwei | 来源:发表于2020-10-29 21:19 被阅读0次

1.object中点语法和[]方法区别:点语法只能使用在属性确定的情况,[]可以使用在属性威变量的情况
2数组(Array)
2.1 初始化数组的时候,可以指定数组的长度
2.2 初始化的时候,可以初始化数组里存储的值
2.3 数组使用from方法字符串每个字节都拆开

let a = Array.from("Matt")
console.log(a)  // ["M","a","t","t"]

2.4 Array.from可以接收第二个参数。例如可以增强新数组的值,而不需要使用Array.from().map(),还可以指定第三个参数,用于指定映射函数的this,this在箭头函数中不适用

const a1 = [1,2,3,4]
const a2 = Array.from(a1,x=>x*2) //a2 = [1,4,6,9]
const a3 = Array.from(a1,function(x) {return x *this.exponent},{exponent:2}) // a3 = [1,4,6,9]

2.5 数组的长度事属于可读和可写的。如果设置的长度小于实际的长度,则会删除数组后面的,如果大于则自动填入undefined
2.6 数组检测方法事 isstanceof
2.7 数组检索数组的内容有 keys() ,values(),entries().keys()返回数组 索引的迭代器。values()返回数组元素的迭代器。entries()返回索引/值得迭代器

const a = ["foo","bar","baz","qux"]
console.log(Array.from(a1.keys())) //[ 0, 1, 2 ]
console.log(Array.from(a1.values())) //[ 'foo', 'baz', 'bat' ]
console.log(Array.from(a1.values())) //[ [ 0, 'foo' ], [ 1, 'baz' ], [ 2, 'bat' ] ]

2.8 数组填充方法copyWitin() fill()
copyWithin()批量复制方法 copyWithin()填充方法。fill()方法可以向一个已有得数组中插入全部或者部分相同得值。开始索引指定开始填充得位置。如果不选第二个参数则默认填充到末尾。负值索引从尾部开始计算

const a =[0,0,0,0,0]
a.fill(5) //a = [5,5,5,5,5]
a.fill(6,3) //[0,0,0,6,6] 用6填充索引大于三得元素
a.fill(7,1,3) //[0,7,7,0,0] 用7填充大于1小于3得位置 1闭区间 3开区间
2.9数组join() 用指定字符串连接数组
3.0 栈方法:push() 末尾添加一个元素 pop()删除最后一项
3.1队列方法 shift()删除第一项 unshift()添加第一项
3.2 排序方法 sort(A) reverse(A) A可以接收一个函数

let a = [1,2,5,6,3,5,8]
a.sort((value1,value) => {
  retur 1
})

3.3操作方法concat()数组之间得连接。生成一个新得连接

let colors = ["red","green","blue"]
let colors2 = colors.concat("yellw",["blcak","brown"]) //colors2 = ["red","green","blue",yellow,"blcak","brown"]

3.4操作方法slice()
slice()创建一个包含原有数组得一个或者多个元素得新数组。slice()可以传递一个参数或者两个参数。如果事一个参数,,那么会返回该索引到数组得所有元素。如果是两个参数。则返回开始索引到结束索引对应得元素。第二个参数是个闭区间

let colors = ["a","b","c","d","e"]
let colors1 = colors.slice(1) //colors1 =["b","c","d","e"]
let colors2 = colors.slice(1,4) //colors2= ["b","c","d",e] //

3.4操作方法replace(A,B,C,D)
replace()可以实现删除,插入,替换。replace()方法可以传递3个参数,传递不同得参数代表的意思也不能
删除 :传递两个参数A和B A代表要删除元素得开始位置,B代表删除元素得个数
插入:A代表插入得开始位置,B为0,C,D...代表要插入得元素
替换:A,B,C.D A代表要删除得位置,B代表删除得个数,C,D代表要插入替换得数据
3.5位置方法 indexOf() lastIndexOf()
indexOf代表数值第一出现得位置,lastIndexOf代表数据最后一个出现得位置
3.6断言函数find()
find()方法是找到满足条件得一个数据

const c = [1,2,3,4,5]
let k = c.find((el,index,arr) => el >3)
console.log(k) //4
console.log(c)//[ 1, 2, 3, 4, 5 ]

3.7 迭代方法 every() filter() forEach map() some()
every()方法全部满足条件返回true
filter() 返回满足条件得新数组
forEach()遍历
map()返回新组织得数据
some()一个条件满足返回true
3.8归并方法
reduce()从头到尾合并 reduceRight()从尾到头合并 。函数中有四个参数A,B,C,D 代表上一个归并值,B代表当前值,C代表当前索引,D代表数组本身

数组方法归类

copyWithin() //浅复制
entries() //数组迭代器
every() //全部满足,返回true
fill() //数组填充
fillter() //数组过滤
find() //返回第一个满足条件得数据
findIndex() //全部满足true
forEach() //遍历
indexOf() //指定数组第一个出现得位置
join() //数组连接
key() //数组索引数组
lastIndexOf() //指定元素最后出现得位置
lenght() //数组长度
map();//数组展开,返回指定新数组
reduce() //数组合并从头到尾
reduceRight() //凑够尾到头
reverse() //数组倒序
slice() //从数组中指定位置取出元素,生成新数组
some() //一个满足返回true
sort() //升序
value();//数组元素集合
concat()//数组合并
pop()//删除尾部元素
push()//尾部添加元素
shift()//头部删除元素
unshift()//头部添加元素

相关文章

  • js 集合对象

    1.object中点语法和[]方法区别:点语法只能使用在属性确定的情况,[]可以使用在属性威变量的情况2数组(Ar...

  • JavaScript笔记(一)

    一、面向对象面向过程的区别 1、什么是js对象 js对象:属性和方法的集合,js所有数据都可以看成对象...

  • JavaScript 面向对象的程序设计

    理解 JS 的对象 在 JS 中,对象被定义为——“无序属性的集合,其属性可以包含基本值、对象或函数。“ 我们可以...

  • 面向对象

    JS 中的对象 JS 中的对象是一系列无序 key: value 的集合 比如 我们可以通过 对象.属性来获取对应...

  • js高级第一次课--理解对象

    JS 中的对象 JS 中的对象是一系列无序 key: value 的集合 比如 我们可以通过 对象.属性来获取对应...

  • JS中集合对象(Array、Map、Set)及类数组对象的使用与

    原文地址 在使用js编程的时候,常常会用到集合对象,集合对象其实是一种泛型,在js中没有明确的规定其内元素的类型,...

  • JS对象基本用法

    JS对象 定义 无序的数据集合 键值对的集合 1.声明对象的两种语法 let obj={'name':'thoma...

  • JavaScript高级程序设计读书笔记 第六章 OO

    JS中对象的定义:无序属性的集合,其属性值可以包含基本值,对象或者函数。我们可以把js的对象想象成散列表,无非就是...

  • 小红书阅读笔记~第六章(面向对象)

    JS中对象的定义:无序属性的集合,其属性值可以包含基本值,对象或者函数。我们可以把js的对象想象成散列表,无非就是...

  • 理解对象、构造对象和抽象重复

    JS中的对象 一系列的无序的 key: value 的集合 (数组、函数、对象) 获取对应值 对象.属性 / 对象...

网友评论

      本文标题:js 集合对象

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