常规数组: 数组元素内容是一种类型的元素,如const arr = [1,2,3,4],在存储空间是连续内存的
JS数组: 数组元素内容不是同一种类型的元素,如const arr = ['haha', 1, {a:1}],则在存储上是一段非连续空间。此时,JS 数组不再具有数组的特征,其底层其实是由链表来实现的
总结
链表的插入/删除效率较高,而访问效率较低;
数组的访问效率较高,而插入效率较低
/*** 这个方法只算2个方程都是相加的方程组。
* @param num1 第一个方程的结果。
* @param num2 第二个方程的结果。
* @param beishu1 第一个方程X的倍数。(可不填,默认为1倍)
* @param beishu2 第一个方程Y的倍数。(可不填,默认为1倍)
* @param beishu3 第二个方程X的倍数。(可不填,默认为1倍)
* @param beishu4 第二个方程Y的倍数。(可不填,默认为1倍)
* 由于是从javascript脚本的Number对象取值的最小值算到最大值,所以比较慢。
*/
function getNumber(num1, num2, beishu1, beishu2, beishu3, beishu4){
if(!beishu1) beishu1 = 1
if(!beishu2) beishu2 = 1
if(!beishu3) beishu3 = 1
if(!beishu4) beishu4 = 1
var n = new Number()
var i = 0, j = i.MIN_VALUE
i = i.MIN_VALUE
while(i <= i.MAX_VALUE){
while(j <= j.MAX_VALUE){
if((i * beishu1 + j * beishu2) === num1 && (i * beishu3 + j * beishu4) === num2){
alert("x:" + i + ", y:" + j)
return
}
j++
}
i++
}
}