JavaScript数组的行为类似于PHP?
有没有一种方法可以像我在PHP中那样在JavaScript数组中赋值 例如,在PHP中,我可以做到:JavaScript数组的行为类似于PHP?,php,javascript,Php,Javascript,有没有一种方法可以像我在PHP中那样在JavaScript数组中赋值 例如,在PHP中,我可以做到: $ar = array(); $ar[] = "Some value"; $ar[] = "Another value"; 这可以用JavaScript实现吗?或者,如果没有,是否有类似的方法?可以直接翻译原始代码 var ar = []; ar[ar.length] = "Some value"; ar[ar.length] = "Another value"; 然而,一个更好的解决方案是
$ar = array();
$ar[] = "Some value";
$ar[] = "Another value";
这可以用JavaScript实现吗?或者,如果没有,是否有类似的方法?可以直接翻译原始代码
var ar = [];
ar[ar.length] = "Some value";
ar[ar.length] = "Another value";
然而,一个更好的解决方案是使用非常通用的push
方法:
var ar = [];
ar.push("Some value");
ar.push("Another value");
var ar = [];
ar.push("Some value");
ar.push("Another value");
与大多数语言一样,JavaScript有一个将项添加到数组末尾的实现 或 有关javascript数组的更多信息,请查看此参考文档: 数组在javascript中的处理略有不同。在PHP中,这样的数组: PHP Javascript:
var myArray = [];
myArray[1] = 'value';
myArray[10] = 'value';
console.log(myArray.length); // output: 11
这是怎么回事?在PHP中,数组是一个动态容器。索引不必是连续的——事实上,关联数组(使用字符串索引而不是数字索引的数组)和标准数组之间没有什么区别
在javascript中,数组上下文中不存在“关联数组”的概念-这些将是对象文本({}
)。javascript中的数组对象是连续的。如果你有一个索引10
,你还必须有10之前的索引;9、8、7等。此顺序列表中未明确指定值的任何值将用值未定义的值填充:
根据上面的例子:
console.log(myArray); //[undefined, "value", undefined, undefined, undefined, undefined,` undefined, undefined, undefined, undefined, "value"]
$myArray = array();
$myArray[1] = 'value';
$myArray[10] = 'value';
echo count($myArray); // output: 2
var myArray = [];
myArray[1] = 'value';
myArray[10] = 'value';
console.log(myArray.length); // output: 11
console.log(myArray); //[undefined, "value", undefined, undefined, undefined, undefined,` undefined, undefined, undefined, undefined, "value"]