笔记-javascript
数值
非数字字符串除法
console.log(100/"apple"); //NaN
字符串包函数值
console.log(100/"10"); //10
console.log(1+NaN); //NaN
数字方法
方法 | 说明 |
---|---|
toString() | 以字符串返回数值 |
valueOf() | 以数值返回数值 |
变量转化为数值 | |
Number() | 返回数字,由其参数传化而来 |
parseFloat() | 返回浮点数 |
parseInt() | 返回整数 |
Number(true) //1
Number(false) //0
Number("10 20") //NaN
无法转化为数字,返回NaN
将日期转化为数字
Number(new Date("2020-4-14"))
数组
创建数组
var cars=[];
var cars=new Array();
遍历数组
for循环
var a=[1,2,3,4];
for(i=0;i<a.length;i++){
console.log(a.[i]);
}
Array.foreach()函数
var a=[1,2,3,4];
a.forEach(myFunction);
function myFunction(value){
console.log(value);
}
添加数组元素
1.push方法
2.利用length属性
var a=[1,2,3,4];
a[a.length]=5;
console.log(a); //[1,2,3,4,5]
var a=[1,2,3,4];
a[5]=6;
console.log(a); //[1,2,3,4,empty,6]
数组识别
typeof[]; //object
Array.isArray([]); //true
加入对象原型包含单词"Array"则返回true
function isArray(x){
return x.constructor.toString().indexOf("Array")>-1;
}
[] instanceof Array //true
数组方法
将数组转化为字符串
toString() 将数组转化为数组值(逗号分隔)的字符串
[1,2,3,4].toString(); //1,2,3,4
join() 将数组转化为字符串,可规定分隔符
[1,2,3,4].join("|"); //1|2|3|4
pop()和push()
pop():从数组中删除最后一个元素,返回值为被删除的元素
var a=[1,2,3,4];
var x=a.pop();
console.log(x); //4
push():向数组添加一个新的元素(数组结尾处),
返回值为新数组的长度
var a=[1,2,3,4];
var x=a.push(5);
console.log(x); //5
位移元素
shift():删除首个元素,返回值为被删除的元素
unshift():在数组开头添加新元素,返回新数组长度
删除元素
delete:使用delete会在数组留下未定义的空洞
var a=[1,2,3,4];
delete a[1];
console.log(a); //[1,empty,3,4]
拼接数组
splice(x,y,value),x定义添加新元素的位置,y定义应删除
多少个元素,value定义要添加的新元素(数组),返回值为新数组
使用splice()向数组添加新项
var a=[1,2,3,4];
a.splice(2,0,5,6); //[1,2,5,6,3,4]
a.splice(1,2,5,6); //[1,2,5,6,4]
使用splice()删除元素
a=[1,2,3,4];
a.splice(0,1); //[2,3,4]
合并数组
concat()
var a=[1.2],b=[3,4];
var c=a.concat(b);
console.log(c); //[1,2,3,4]
合并多个数组
a.concat(b,c,...)
将数组与值合并
var b=a.concat([3,4]);
裁剪数组
slice()
两个参数
var a=[1,2,3,4,5,6];
var b=a.slice(1,3);
console.log(b); //[2,3]
一个参数
var a=[1,2,3,4,5,6];
var b=a.slice(3);
console.log(b); //[4,5,6]
数组排序
sort()以字母顺序对数组进行排序
首先第一个字母,然后排序第二个字母,依次第三个、第四个...
直到排除顺序
var fruits=["banana","orange","apple","mango"];
fruits.sort();
console.log(fruits); //["apple","banana","mango","orange"]
reverse()反转数组中的元素
var fruits=["banana","orange","apple","mango"];
fruits.sort();
fruits.reverse();
console.log(fruits); //["orange","mango","banana","apple"]
比值函数
当sort()函数比较两个值时,会将值发送到比较函数,并根据
所返回的值(负或者正)对这些值进行排序
var points=[40,100,1,5,25,10];
points.sort(function(a,b){return a-b});
console.log(points); //[100,40,25,10,5,1]
points.sort(function(a,b){return b-a});
console.log(points); //[1,5,10,25,40,100]
以随机顺序排列数组
var points=[40,100,1,5,25,10];
points.sort(function(a,b){return 0.5-Math.random()});
console.log(points);
//以随机顺序排列
如何使用比值函数比较排序对象数组、如何比较字符串的属性??
Math.max()和Math.min()函数
使用Math.max.apply来寻找数组中的最高值
function myArrayMax(arr){
return Math.max.apply(null,arr);
}
使用math.min.apply来寻找数组中的最低值
function myArrayMin(arr){
return Math.min.apply(null,arr);
}