面试js数组和object string点滴yan

数组的concat方法,自动扁平数组

数组的slice方法, slice要前不要后
['a', 'b', 'c', 'd', 'e'].slice(0, 3)
//  ['a', 'b', 'c']
['a', 'b', 'c', 'd', 'e'].slice(1, 3) 
// ['b', 'c']
js 字符串
'abcdefg'.slice(-1) // g
'abcdefg'.slice(1) // “bcdefg"
'abcdefg'.slice(1,4) // “bcd"
—————————————
'abcdefg'.substring(1,4) // “bcd"
———————
slice可以完全取代 substring ,slice可以是负数
—————
substr
'abcdefg'.substr(-1) // g
'abcdefg'.substr(1,5) // “bcdef”
'abcdefg'.substr(1) // "bcdefg"
slice方法保留前,不保留后

在这里插入图片描述

哪些数组方法改变自己

push、pop、shift、unshift、reverse、sort、splice

数组上也是可以挂其他属性的,不过不在计算在length中

在这里插入图片描述

data.sort(function(a, b) { return b.total - a.total; });

这个数组的sort函数改变之后,不需要重新赋值,在原有的指针上修改的。

Object 方法

对象

在这里插入图片描述
一种对象深拷贝的方法: var obj = {name:’yan’}; var tem = Object.create(obj) tem的改变不会改变obj,但是obj改变会改变tem.
在这里插入图片描述

assign方法

这个方法也可以merge也可以拷贝,但是是浅拷贝 还注意。(可以考虑下loadsh.js assign方法但是merge方法和assign方法还是有区别的哈https://blog.csdn.net/u011153667/article/details/52275797)
在这里插入图片描述

Object.defineProperty Object.defineProperties

在这里插入图片描述

Object.freeze

在这里插入图片描述

Objec.keys values entries

在这里插入图片描述

Object.getOwnPropertyDescriptor

ES5中还提供了一个读取特性值的方法,该方法接收对象及其属性名作为两个参数,返回一个对象,根据属性类型的不同,返回对象会包含不同的值。
在这里插入图片描述

Object.getOwnPropertyNames用过获取所有对象,包括可枚举和不可枚举的。

在这里插入图片描述

Object.getPrototypeOf

在这里插入图片描述

这个方法好像父类的父类也是true

Objecr.prototype. 不需要说的,toString valueOf,toLocaleString
Objecr.prototype.hasOwnproperty
在这里插入图片描述

Object.prototype.isPrototypeOf

在这里插入图片描述

Object.prototype.propertyIsEnumerable

在这里插入图片描述

字符串转数组的方法

split() 方法
展开运算符 var [a] = ‘sdfg’
解构赋值 […‘asdf’]
Array.from
Array.from(‘assadfasf’)

数组转字符串的方法

toString()
join()

split 正则切割字符串

“Hello World,I-am code”.split(/[,-\s.]/) // [“Hello”, “World”, “I”, “am”, “code”]

js数组和数组去重的几种简单的方法
---方法1
Array.from(new Set([3,2,20,45,12,20]))
---方法2
[...new Set([3,2,20,45,12,20])]
---方法3
filter()和indexOf()实现去重
---方法4
reduce()和includes()实现去重
----方法5
双重for循环 + splice() 或 双重for循环 + push() (ES5的方法)

JS 中 replace 和 replaceAll 的区别?

三种JS截取字符串方法

slice,substring 没有负数的表现是一样的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值