作用:用于确定传递的值是否是一个Array。
语法:Array.isArray(obj)
参数:obj——需要检测的值
返回值:如果对象是 Array,则返回true,否则为false。
作用:返回数组对象本身
语法:通过arr.valueOf( )调用
参数:无参数
返回值:数组对象本身
作用:将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
语法:arr.push(element1, ..., elementN)
参数:elementN
——被添加到数组末尾的元素。
返回值:当调用该方法时,新的 length
属性值将被返回。
作用:将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
语法:arr.pop()
参数:无参数
返回值:从一个数组中删除并返回最后一个元素;在一个空数组上调用 pop(),它返回 undefined。
作用:将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
语法:arr.pop()
参数:无参数
返回值:从一个数组中删除并返回最后一个元素;在一个空数组上调用 pop(),它返回 undefined。
作用:将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。
语法:arr.unshift(element1, ..., elementN)
参数:elementN
——要添加到数组开头的元素或多个元素。
返回值:当一个对象调用该方法时,返回其 length
属性值
作用:将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
语法:arr.reverse()
参数:无参数
返回值:颠倒数组中元素的位置,改变了数组,并返回该数组的引用。
作用:用原地算法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的
语法:arr.sort([compareFunction])
参数:compareFunction
可选
用来指定按某种顺序进行排列的函数。如果省略,元素按照转换为的字符串的各个字符的Unicode位点进行排序。
返回值:排序后的数组。请注意,数组已原地排序,并且不进行复制。
//从小到大
var arr2 = arr.sort(function(a,b){
return a-b;
})
//从大到小
var arr3 = arr.sort(function(a,b){
return b-a;
})
//对对象数组进行排序
var arr4 = arr.sort(function(a,b){
return a.value-b.value;
})
作用:用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
语法:var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
参数:valueN
可选
将数组和或值连接成新数组。如果省略了valueN参数,则concat会返回一个它所调用的已存在的数组的浅拷贝。
返回值:新的 Array 实例。
var alpha = ['a', 'b', 'c'];
var numeric = [1, 2, 3];
alpha.concat(numeric);
// result in ['a', 'b', 'c', 1, 2, 3]
作用:从begin开始截取元素,到end结束,包括start,不包括end,返回新数组,begin,end是索引,不会改变原始数组。
语法:arr.slice([begin[, end]])
参数:begin可选-提取起始处的索引(从 0
开始),从该索引开始提取原数组元素。如果省略 begin
,则 slice
从索引 0
开始。
end
可选-提取终止处的索引(从 0
开始),在该索引处结束提取原数组元素。slice
会提取原数组中索引从 begin
到 end
的所有元素(包含 begin
,但不包含 end
)。如果 end
被省略,则 slice
会一直提取到原数组末尾。
返回值:一个含有被提取元素的新数组。
作用:从start开始截取元素,截取length个,返回新数组,start是索引,length是个数,会改变原始数组。
语法:arr.splice(start,length)
参数:参数均可选,从start开始截取元素,截取length个
返回值:由被截取的元素组成的一个数组。如果只截取了一个元素,则返回只包含一个元素的数组。如果没有截取元素,则返回空数组。
作用:返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
语法:arr.indexOf(数组元素值)
参数:数组元素值:要查找的元素
返回值:首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1。
作用:返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找。
语法:arr.lastIndexOf(数组元素值)
参数:数组元素值:要查找的元素
返回值:数组中该元素最后一次出现的索引,如未找到返回-1。
作用:用于调用数组的每个元素,并将元素传递给回调函数,不改变原数组
语法:arr.forEach(function(item, index))
参数:item 必需。当前元素 //数组里的每一项
Index 可选。当前元素索引值 //对应的下标
返回值:可以拿到每个数组中的值,没有返回值
作用:测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。
语法:arr.every(function(item, index))
参数:item 必需。当前元素 //数组里的每一项
Index 可选。当前元素索引值 //对应的下标
返回值:如果回调函数的每一次返回都为true值,返回 true
,否则返回 false
。
作用:测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。
语法:arr.some(function(item, index))
参数:item 必需。当前元素 //数组里的每一项
Index 可选。当前元素索引值 //对应的下标
返回值:数组中有至少一个元素通过回调函数的测试就会返回true
;所有元素都没有通过回调函数的测试返回值才会为false。
举例:var flag1 = arr3.every(function (item, index) {
return item > 55;
}) //所有值都满足条件返回true,否则返回false
作用:根据指定条件过滤元素,返回新数组 ,数组中内容数目改变
语法:arr.filter(function(item, index))
参数:item 必需。当前元素 //数组里的每一项
Index 可选。当前元素索引值 //对应的下标
返回值:一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组。
举例://filter():根据指定条件过滤元素,返回新数组(满足条件就加入新数组,不改变原数组)
var new1 = arr.filter(function (value, index) {
return value >= 33;
})
console.log(new1);
作用:根据指定条件过滤元素,返回新数组 ,数组中内容数目不变
语法:arr.map(function(item, index))
参数:item 必需。当前元素 //数组里的每一项
Index 可选。当前元素索引值 //对应的下标
返回值:回调函数的结果组成了新数组的每一个元素
举例://map():根据数学运算,返回新数组(处理数据,选择对外展示的数据)
var new2 = arr.map(function (value, index) {
return Math.pow(value, 2);
})
作用:将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
语法:arr.join([separator])
参数:separator
可选
指定一个字符串来分隔数组的每个元素。如果缺省该值,数组元素用逗号(,
)分隔。如果separator
是空字符串(""
),则所有元素之间都没有任何字符。
返回值:一个所有数组元素连接的字符串。如果 arr.length
为0,则返回空字符串。
作用:获取指定位置处字符
语法:str.charAt(index)
参数:index
——一个介于0 和字符串长度减1之间的整数。 (0~length-1),如果没有提供索引,charAt() 将使用0。
返回值:返回指定位置index处字符, 如果指定的 index 值超出了该范围,则返回一个空字符串。
作用:获取指定位置处字符的ASCII码
语法:str.charCodeAt(index)
参数:index
——一个大于等于 0,小于字符串长度的整数。如果不是一个数值,则默认为 0。
返回值:返回指定位置index处字符, 如果指定的 index 值超出了该范围,则返回NaN。
作用:拼接字符串,等效于+,+更常用
语法:str.concat(string2, string3[, ..., stringN])
参数:string2...stringN
——和原字符串连接的多个字符串
返回值:将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。 concat
方法并不影响原字符串。
作用:从start位置开始,截取到end位置,end取不到,提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。
语法:str.slice(start,end)
参数:参数均可选,从start位置开始,截取到end位置,end取不到
返回值:返回一个从原字符串中提取出来的新字符串
作用:从start位置开始,截取到end位置,end取不到
语法:str.substring(start,end])
参数:从start位置开始,截取到end位置,end取不到
返回值:包含给定字符串的指定部分的新字符串。
作用:返回在字符串中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
语法:arr.indexOf(字符串中元素值)
参数:字符串元素值:要查找的元素
返回值:首个被找到的元素在字符串中的索引位置; 若没有找到则返回 -1。
作用:返回指定元素(也即有效的 JavaScript 值或变量)在字符串中的最后一个的索引,如果不存在则返回 -1。从字符串的后面向前查找。
语法:arr.lastIndexOf(字符串元素值)
参数:字符串元素值:要查找的元素
返回值:字符串中该元素最后一次出现的索引,如未找到返回-1。
作用:从一个字符串的两端删除空白字符。
语法:str.trim()
参数:无参数
返回值:返回一个两头都去掉空白的字符串,并不影响原字符串本身。
作用:转换大写
语法:str.toUpperCase()
参数:无参数
返回值:调用该方法的字符串值转换为大写形式,并返回。
作用:转换小写
语法:str.toLowerCase()
参数:无参数
返回值:调用该方法的字符串值转换为小写形式,并返回。
作用:用于检索字符串中指定的子字符串,返回子字符串的起始位置,若没有返回-1——与indexOf类似
语法:str.search(regexp)
参数:regexp
——一个正则表达式(regular expression)对象。如果传入一个非正则表达式对象 obj
,则会使用 new RegExp(obj)
隐式地将其转换为正则表达式对象。
返回值:如果匹配成功,则 search()
返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1。
作用:替换字符串用字符串 new替换old—— 替换全局(/要替换的字符串/g)
语法:replace(old,new)
参数:old旧的字符串,new新的字符串
返回值:一个部分或全部匹配由替代模式所取代的新的字符串。
作用:分割字符串 返回的是一个数组,数组的元素就是以参数来分割的
语法:str.split(‘分割元素’)
参数:分割元素
返回值:返回源字符串以分隔符出现位置分隔而成的一个 Array
举例:
var str = "abcahuyaunjha";
var str2 = str.split(); //数组内容与字符串一致,数组内只有一个元素"abcahuyaunjha"
var str2 = str.split(""); //以逗号分割,str.length 个元素
var str2 = str.split("a"); //以a分割,去掉a
作用:返回指定对象的字符串形式
语法:str.toString()
参数:无参数
返回值:一个表示调用对象的字符串。
作用:返回指定对象的字符串形式
语法:String(thing) new String(thing)
参数:thing
——任何可以被转换成字符串的值。
返回值:返回指定对象的字符串形式。
作用:以任意顺序遍历一个对象的除Symbol以外的可枚举属性
语法:for (variable in object) statement
参数:variable——
在每次迭代时,variable会被赋值为不同的属性名。
object——
非Symbol类型的可枚举属性被迭代的对象。
Number()转化规则
a. 如果字符串中只包含数字时,将其转换为十进制数值,忽略前导0
b. 如果字符串中包含有效浮点格式,如“1.1”,将其转换为对应的浮点数字,忽略前导0
c. 如果字符串中包含有效的十六进制格式,如“0xf”,将其转换为相同大小的十进制数值
d. 如果字符串为空(null),或者是空内容,将其转换为0
e. 如果字符串中包含除上述格式之外的字符,则将其转换为NaN
作用:用来确定一个值是否为NaN
语法:isNaN(value)
参数:value
——要被检测的值。
返回值:如果给定值为 NaN
则返回值为true
;否则为false
。
// 返回12,如果第一个字符是数字会解析直到遇到第一个小数点结
var num1 = parseInt("12.3abc"); //向下取整
// 返回NaN,如果第一个字符不是数字或者符号就返回NaN
var num2 = parseInt("abc123");
把字符串转换成浮点数,parseFloat()和parseInt非常相似,不同之处在与
parseFloat会解析第一个. 遇到第二个.或者非数字结束
//数组深拷贝方法
var arr = [1, 2, 3, 4, 5, 6]
var arr2 = []
//方式一:forEach
arr.forEach(function (item) {
arr2.push(item)
})
//方式二:filter
var arr3 = arr.filter(function (item) {
return turn;
})
//方式三:slice
var arr4 = arr.slice(0)
//方式四:concat
var arr5 = [].concat(arr)
//对象深拷贝方法:for(var key in obj)
var obj1 = { name: "zs", age: 18 }
var obj3 = {}
for (var key in obj1) {
obj3[key] = obj1[key]
}
console.log(obj3)