相关疑难解决方法(0)

JavaScript数组是否关联?

例如,如果我做[1000000] = 1; 它会使用1000000个元素的内存还是只用于这个?

javascript arrays associative

6
推荐指数
2
解决办法
542
查看次数

数组键号和"数字"意外地被认为是相同的

我一直在玩javascript数组,我遇到了,我觉得,有些不一致,我希望有人可以为我解释.

让我们从这开始:


var myArray = [1, 2, 3, 4, 5];
document.write("Length: " + myArray.length + "<br />");
for( var i in myArray){
   document.write( "myArray[" + i + "] = " + myArray[i] + "<br />");
}
document.write(myArray.join(", ") + "<br /><br />");
Run Code Online (Sandbox Code Playgroud)
Length: 5
myArray[0] = 1
myArray[1] = 2
myArray[2] = 3
myArray[3] = 4
myArray[4] = 5
1, 2, 3, 4, 5

这段代码没有什么特别之处,但我知道javascript数组是一个对象,因此可能会向数组添加特性,这些特性添加到数组的方式似乎与我不一致.

在继续之前,让我注意如何在javascript中将字符串值转换为数字值.

  • 非空字符串 - >字符串或NaN的数字值

  • 空字符串 - > 0

因此,由于javascript数组是一个对象,以下是合法的:


myArray["someThing"] = "someThing";
myArray[""] = "Empty …
Run Code Online (Sandbox Code Playgroud)

javascript arrays type-conversion

4
推荐指数
1
解决办法
4343
查看次数

PHP的数组()的缩写

我不知道你怎么样,但我不太喜欢用PHP构建数组的方式.我有这样的感觉,我array经常使用关键字方式,并且考虑到地图的有用性,array($k => $v)或者例如array($k1=>array($k2=>$v))太长.(而且,最近我学会了JS的做法,现在我真的很嫉妒)

我能想出的最好的解决方法是:

function a() { // array
  return func_get_args();
}
Run Code Online (Sandbox Code Playgroud)

function h() { // hash
  $array=array();
  for($i=0; $i<func_num_args()-1; $i+=2) {
    $array[func_get_arg($i)]=func_get_arg($i+1);
  }
  return $array;
}
Run Code Online (Sandbox Code Playgroud)

......但他们不允许使用=>操作员.

还有其他想法吗?

php arrays syntax performance syntactic-sugar

2
推荐指数
1
解决办法
1569
查看次数