2013-07-23 30 views
0

我目前正在从书本和codecadmey学习JavaScript,并且一直在与数组混淆。这两个来源在设置数组的方式上有所不同。数组,它们是如何设置的以及像一个变量一样的变量?

这些是什么之间的差异:

var arrayname = new array(); 
var arrayname = []; 

此外,在下面这段代码,在我看来,它是治疗的可变文本作为一个阵列,同时在for循环搜索过它。这也令我困惑。它是如何将一个普通变量视为一个数组?

这将是伟大的,如果你能帮助!谢谢。

var text = "Lorem Zachary ipsum dolor sit amet, consectetur adipiscing elit. Fusce ac dapibus felis, vel interdum ipsum. Sed non justo sed sapien faucibus interdum. Ut vehicula mauris hendrerit, dapibus diam eu, varius leo. Integer eu semper mi, eget feugiat ante. Donec pretium turpis dolor, eu imperdiet nunc vehicula at. Phasellus id mi sodales Zachary eros aliquam venenatis. Nam a eros orci. Sed commodo accumsan sapien, nec rhoncus elit venenatis in. Etiam vitae lorem libero. Quisque porta nibh id mauris auctor laoreet. Nunc porttitor metus et mi luctus hendrerit. Zachary Curabitur quis semper justo. Morbi sed augue commodo, blandit tortor eu, bibendum nibh. "; 
var myName = "Zachary"; 
var hits = []; 
for (var i = 0; i<text.length; i++){ 
    if (text[i] === "Z"){ 
     for(var j = i; j< (myName.length + i); j++) 
     hits.push(text[j]); 
    } 
} 

if (hits.length===0){ 
    console.log("your name wasn't found"); 
} 
else{ 
    console.log(hits); 
} 
+1

可能重复的[var x = new Array();]有什么问题(http://stackoverflow.com/questions/885156/whats-wrong-with-var-x-new-array) – Blender

+1

至于你的第二个问题:[string.charAt(x)or string \ [x \]?](http://stackoverflow.com/questions/5943726/string-charatx-or-stringx) – Blender

+1

另外'var arrayname = array []; '不是有效的JavaScript语法。 – voithos

回答

1

在JavaScript和大多数语言中字符串实现了类似数组的属性以允许您使用单个字符。但是,在JavaScript中应该明确表示String与Array不同,事实上像length这样的属性只能在String上读取,但在Array上可以编辑。

的代码:

var arrayname = new Array(); 

尺寸的arrayName中对象作为Array类的一个实例。由于阵列类提供具有一定长度的功能,并且允许通过其成员迭代,你现在可以立即开始以JavaScript等分配值:

arrayname[0] = "test"; 

但是,这不是对尺寸的阵列的唯一途径。还有简写版本。即便是下面的工作:

var fieldCount = resultSet.fieldCount; 
var fields = []; 
for(var i = 0; i < fieldCount;i++) { 
    fields.push(resultSet.fieldName(i)); 
}; 

因此,虽然有很多的速记方法,这些基本上创建同一个对象,数组类型的实例只是方式不同。

但正如有人指出我不熟悉你所使用的语法:

var arrayname = array[]; 

我不认为这是正确的,但我没有测试过肯定。这可能来自不是JavaScript的源代码。

+0

是的,我犯了一个错误,因为我是新的阵列我的意思是var arrayname = [];而不是var arrayname = array []; – Zachooz

相关问题