JS javascript内置构造函数大总结: **数组+字符串=>权威大总结

https://developer.mozilla.org/zh-CN/

万物皆对象

实例成员: 通过构造函数创建的对象称为实例对象,实例对象中的属性和方法称为实例成员

静态成员: 构造函数的属性和方法被称为静态成员

1. 对象(Object):

Object.keys(obj): 返回属性的数组。
Object.values(obj): 返回属性的值的数组。
Object.entries(obj): 返回一个包含对象自身可枚举属性的键值对的数组。
Object.assign(target, ...sources): 增加属性,将一个或多个源对象的属性复制到目标对象中,并返回目标对象。
Object.create(proto, [propertiesObject]): 使用指定的原型对象和属性创建一个新对象。
Object.defineProperty(obj, prop, descriptor): 在对象上定义一个新属性或修改现有属性的特性。
Object.getOwnPropertyDescriptor(obj, prop): 返回指定对象上一个自有属性对应的属性描述符。
Object.getOwnPropertyNames(obj): 返回一个包含对象自身所有属性(不仅是可枚举属性)的数组。
Object.getPrototypeOf(obj): 返回指定对象的原型。
Object.setPrototypeOf(obj, prototype): 设置一个对象的原型到另一个对象或null。
Object.hasOwnProperty(prop): 判断对象是否具有指定名称的自身属性。

2. 数组(Array):

concat(): 连接两个或多个数组,并返回一个新数组
let arr1 = [1,2,3];
arr1 = arr1.concat([1,2,3],[4,5,6])
console.log(arr1);
join(): 将数组的所有元素连接成一个字符串。
let str1 = arr1.join("");
console.log(str1);

push(): 向数组的末尾添加一个或多个元素,并返回新的长度。
arr1.push(1)
pop(): 删除并返回数组的最后一个元素 

let last = arr1.pop()
shift(): 删除并返回数组的第一个元素
let first = arr1.shift()
unshift(): 向数组的开头添加一个或多个元素,并返回新的长度。
arr1.unshift(0)
slice(): 从数组中提取指定位置的元素,并返回新数组
let afterSlice = arr1.slice(2,4)
splice(): 删除、替换或添加数组的元素,并返回被删除的元素。
arr1.splice(1,4)
console.log(arr1)
reverse(): 颠倒数组中元素的顺序。
arr1.reverse()
console.log(arr1)
sort(): 对数组元素进行排序。
arr1.sort((a,b)=>a-b)
console.log(arr1)
indexOf(): 返回指定元素在数组中首次出现的索引。
let firstFindIndex = arr1.indexOf(1)
lastIndexOf(): 返回指定元素在数组中最后一次出现的索引。
let lastFindIndex = arr1.lastIndexOf(1)
filter(): 创建一个新数组,其中包含通过函数筛选的所有元素。
let afterFilter = arr1.filter((item)=>item==2)
map(): 创建一个新数组,其中包含对原数组的每个元素应用函数的结果。
let afterMap = arr1.map((item,index)=>{return item*2})
reduce(): 通过函数对数组的元素进行累积计算,返回一个值,累加器初始化为0
let afterReduce = arr1.reduce((accumulator,currentVal)=>{return acuumulator+currentVal},0)
forEach(): 对数组的每个元素执行一次指定的函数。
arr1.forEach((item)=>{item+=1;})
every(): 检查数组的所有元素是否满足指定的条件。
let res = arr1.every((item,index)=>{return item>0;})
some(): 检查数组的是否至少有一个元素满足指定的条件。
let res = arr1.some((item)=>{
return item<0;})
find(): 返回数组中满足指定条件的第一个元素。
let res = arr1.find((item)=>{
return item>2;})
findIndex(): 返回数组中满足指定条件的第一个元素的索引。
let res = arr1.findIndex((item)=>{return item>2;})
这些方法会直接修改原始数组,并返回具体的操作结果或修改后的数组。

AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 会改变原数组的方法:

111 push() 添加到数组末尾,返回新的数组长度

222 pop() 取得最后一项
222 shift() 取得第一项

111 unshift() 在数组开头添加任意多个值,返回新的数组长度

111222333 splice() 插入 
传入三个参数,分别是开始位置,要删除元素的数量,要插入的任意多个元素,返回删除元素的数组,对原数组产生影响
传入两个参数,分别是开始位置,删除元素的数量,返回包含删除元素的数组
let colors = ["red", "green", "blue"];
let removed = colors.splice(1, 1, "red", "purple"); // 插入两个值,删除一个元素
console.log(colors); // red,red,purple,blue
console.log(removed); // green,只有一个元素的数组
或者
let colors = ["red", "green", "blue"];
let removed = colors.splice(0,1); // 删除第一项
console.log(colors); // green,blue
console.log(removed); // red,只有一个元素的数组


reverse()
sort()
BBBBBBBBBBBBBBBBBBBB 会返回新数组的方法,这些方法不会修改原始数组,而是返回一个新的数组作为结果。

111 concat() 添加到副本末尾
最后返回这个新构建的数组,不会影响原始数组

222 slice()  用于创建一个包含原有数组中一个或多个元素的新数组,不会影响原始数组
filter()
map()

其他方法:
join()   ***************************************数组变字符串
let colors = ["red", "green", "blue"];
alert(colors.join(",")); // red,green,blue
alert(colors.join("||")); // red||green||blue

444 indexOf() 返回要查找的元素在数组中的位置,如果没找到则返回 -1
444 find() 返回第一个匹配的元素
444 includes() 返回要查找的元素在数组中的位置,找到返回true,否则false
lastIndexOf()
reduce()  求和
const count = arr.reduce((pre,cur) => pre + cur)
const countt = arr.reduce((pre,cur) => {pre + cur.salary}, 0) //对象里面的属性
forEach()
every()
some()
const mi = arr.find(item => item.name === '小米')
findIndex()
Array.from() 把伪数组转换成真数组

3. 字符串(String):

我们需要知道字符串的特点是一旦创建了,就不可变

length: 返回字符串的长度。
split(separator, [limit]): *******************将字符串分割为子字符串数组,根据指定的分隔符。
字符串变数组  对应join
let str = "12+23+34"
let arr = str.split("+") // [12,23,34]


substring(start, [end]): 提取字符串的一部分,并返回一个新字符串。
结束的索引号不包含想要截取的部分。
与slice()类似,但不支持负索引。
slice(start, [end]): 提取字符串的一部分,并返回一个新字符串。
startsWith(searchString, [position]): 检查字符串是否以指定字符串开头。
includes(searchString, [position]): 检查字符串是否包含指定字符串。


concat(str1, str2, ..., strN): 连接两个或多个字符串,并返回一个新字符串。

charAt(index): 返回指定索引位置的字符。
charCodeAt(index): 返回指定索引位置的字符的Unicode编码。
trim(): 移除字符串两端的空格或其他指定字符。
repeat(2)

indexOf(searchValue, [start]): 返回指定字符串首次出现的索引。
lastIndexOf(searchValue, [start]): 返回指定字符串最后一次出现的索引。

substring(start, [end]): 提取字符串的一部分,并返回一个新字符串。与slice()类似,但不支持负索引。
substr(start, [length]): 提取字符串的指定长度的子字符串,并返回一个新字符串。
replace(searchValue, replaceValue): 替换字符串中的指定内容,并返回一个新字符串。
toLowerCase(): 将字符串转换为小写。
toUpperCase(): 将字符串转换为大写。

endsWith(searchString, [length]): 检查字符串是否以指定字符串结尾。

match(regexp): 在字符串中搜索匹配指定正则表达式的结果,并返回一个数组。
search(regexp): 在字符串中搜索匹配指定正则表达式的结果,并返回匹配的索引。

padEnd()
复制字符串,如果小于指定长度,则在相应一边填充字符,直至满足长度条件

 3.JSON字符串

JSON.stringify()   对象转换为json字符串
{“uname":"pink","age":18,"hobby":["兵乓球","足球"],"family":{"baby":"小飞"}}

JSON.parse()  字符串转换为对象

4. 数字(Number):

toFixed(digits): 将数字格式化为指定小数位数的字符串表示。
toPrecision(precision): 将数字格式化为指定有效位数的字符串表示。
toString([radix]): 将数字转换为指定进制(2到36)的字符串表示。
parseFloat(string): 解析一个字符串参数并返回一个浮点数。
parseInt(string, radix): 解析一个字符串参数并返回一个整数。
isFinite(number): 检查一个数字是否有限(非Infinity或NaN)。
isNaN(number): 检查一个数字是否是NaN(Not-a-Number)。
isInteger(number): 检查一个数字是否是整数。
isSafeInteger(number): 检查一个数字是否是安全整数。
toExponential(fractionDigits): 返回一个数字的指数表示法的字符串。
toLocaleString([locales, [options]]): 返回一个数字的本地化表示字符串。
valueOf(): 返回一个数字的原始值。

5. 集合(Set):集合是一组唯一值的集合:

const mySet = new Set();
add(value): 向集合中添加一个新的元素。
delete(value): 从集合中删除指定的元素。
has(value): 检查集合中是否存在指定的元素,返回一个布尔值。
clear(): 清空集合,删除所有元素。
size: 返回集合中元素的数量。
values(): 返回一个包含集合中所有元素的迭代器。
forEach(callbackFn, [thisArg]): 对集合中的每个元素执行指定的回调函数。

6. 映射(Map):

const myMap = new Map();
myMap.set("name", "John");
myMap.set("age", 25);
console.log(myMap.toArray()); // 输出: [['name', 'John']]
若不是new Map的映射,不能使用.has等
用for(let item of map){if(item in map){}}

set(key, value): 向Map中添加一个新的键值对。
get(key): 获取指定键对应的值。
has(key): 检查Map中是否存在指定的键,返回一个布尔值。
delete(key): 从Map中删除指定键及其对应的值。
clear(): 清空Map,删除所有键值对。
size: 返回Map中键值对的数量。
keys(): 返回一个包含Map中所有键的迭代器。
values(): 返回一个包含Map中所有值的迭代器。
entries(): 返回一个包含Map中所有键值对的迭代器。
forEach(callbackFn, [thisArg]): 对Map中的每个键值对执行指定的回调函数。

7. 栈(Stack):

const myStack = new Stack();
push(element1, element2, ..., elementN): 将一个或多个元素添加到栈的顶部。
pop(): 移除并返回栈顶部的元素。
peek(): 返回栈顶部的元素,但不对栈进行修改。
isEmpty(): 检查栈是否为空,返回一个布尔值。
clear(): 清空栈,移除所有元素。
size(): 返回栈中元素的数量。

8. 队列(Queue):

const myQueue = new Queue();
enqueue(element1, element2, ..., elementN): 将一个或多个元素添加到队列的末尾(也称为入队)。
dequeue(): 移除并返回队列的第一个元素(也称为出队)。
peek(): 返回队列的第一个元素,但不对队列进行修改。
isEmpty(): 检查队列是否为空,返回一个布尔值。
clear(): 清空队列,移除所有元素。
size(): 返回队列中元素的数量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值