这篇整理一些常用的阵列方法
sort() 会对阵列所有的元素进行排列,并回传此阵列
语法:
可以直接使用 sort
Array.sort()
或者参数使用compareFunction
Array.sort(compareFunction)
范例:
var a=[3,5,7,9,1,2]
console.log(a.sort()); // 回传排序好的阵列,[1, 2, 3, 5, 7, 9]
console.log(a); // [1, 2, 3, 5, 7, 9]
如果直接使用 sort,没有使用 compareFunction,预设会将元素转成字串,并使用unicode来判断,所以也会造成某些数字判断错误
var b=[1,2,6,4,5,2,9,11,13,7];
console.log(b.sort()); // [1, 11, 13, 2, 3, 4, 5, 6, 7, 9]
使用 compareFunction 可以避免这个问题
sort() 的参数里面可以放一个函式,函式有两个参数。
语法:
function compareFunction(x,y){
return x-y // 这样数字会由小排到大
}
范例:
var b=[1,2,6,4,5,2,9,11,13,7];
b.sort(function(x,y){
return x-y
});
console.log(b); // [1, 2, 3, 4, 5, 6, 7, 9, 11, 13]
b.sort(function(x,y){
return y-x
});
console.log(b); // [13, 11, 9, 7, 6, 5, 4, 3, 2, 1]
compareFunction 实际是依照回传值来排序
compareFunction(x,y) 回传值如果小於 0(负数),表示 x 会排在 y 前面
compareFunction(x,y) 回传值如果大於 0(正数),表示 y 会排在 x 前面
所以 compareFunction 也可以写成这样
function compareFunction(x,y){
if(x<y) return -1;
if(x>y) return 1;
return 0;
}
也可以使用 console.log 观察一下,是怎样比较的
function compareFunction(x,y){
console.log(x,y);
if(x<y) return -1;
if(x>y) return 1;
return 0;
}
fill() 可以将阵列中的元素替换成指定的值,并且回传改变後的阵列
语法
fill() 有三个参数
可以直接使用
Array.fill()
或使用参数
Array.fill(value,start,end)
范例:
var a=[1,2,3,4,5,6,7,8];
console.log(a.fill(null)); // [null,null,null,null,null,null,null,null]
var b=[1,2,3,4,5,6,7,8];
console.log(b.fill('b',2,6)); //[1,2,'b','b','b','b',7,8]
接下来的实验中,会写一个把 GPIO 当作是中断的来源的程序。这个 GPIO 由 Arduino 发...
微服务系统之间的呼叫链结可能错纵复杂,除了系统日志(Logging)和监控指标(Metrics),链...
先前提到Azure有很多客户拿来做第三份备份存放外,异地备援陆续也有不少客户来询问 了解,原因就在异...
Abstract 在Spring Framework尚未被开发出来时,Java EE是以 Sun公司...
前言 或许有些人会有所困惑, 同步非同步的实践难在哪里, 为甚麽要一直巴拉巴拉, 但事实上, 非同步...