js面试题整理-初级版-第二章
请说出字符串得slice、substring、substr三者有什么区别和相同点
相同点
这三个方法都可以对字符串进行截取,并且返回一个新的字符串,也就是不会对原字符串进行修改
不同点
substring(startIndex, endIndex)
substring方法用于提取字符串中介于两个指定下标之间的字符。startIndex必须是一个非负整数,必填,如果是个负数那么就默认为0。endIndex也必须是一个非负整数,这个参数为非必填,没写时那么返回的子串会一直到字符串的结尾。
substr(startIndex, length)
substr方法可在字符串中抽取从startIndex下标开始的指定数目的字符。startIndex必填,可为负数,如果是负数,那么该参数声明从字符串的尾部开始算起的位置。length截取字符串长度,非必填。必须是数值。如果省略了该参数,那么返回从 string 的开始位置到结尾的字串。
slice(startIndex, endIndex)
slice方法可提取字符串的某个部分,并以新的字符串返回被提取的部分。startIndex必填。要抽取的片段的起始下标如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。endIndex非必填。要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括startIndex到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。
请说出Array的splice、slice的区别
slice方法用于从已有的数组返回选定的元素的一个浅拷贝到一个新数组对象中,而不改变原数组。splice方法用于删除、替换或添加数组中的元素。它会直接修改原数组,并返回一个包含被删除元素的新数组。
请说出ArrayES6都新加了哪些方法
- Array.from: 接收一个可迭代对象或类数组对象,将其浅拷贝到一个普通数组里,并将这个数组返回。
- Array.of: 则是用来创建数组的,该方法接收可变数量的参数,将这些参数按顺序成为需要返回的新数组的数组元素。
- Array.find:用于找出第一个符合条件的数组成员。
- Array.some:用来给数组中的每一项做条件判断,遇到第一个满足条件的项目就返回true,否则返回false。
- Array.every:用来给数组中的每一项做条件判断,遇到第一个不满足条件的项目就返回false,否则反回true。
- Array.filter:用来对数组中符合条件的项做过滤。
- Array.findIndex:用于找出第一个符合条件的数组成员的下标。
- Array.fill: 填充数组。