Javascript 字符串数组访问返回字符
Javascript String Array Access Returns Chars
好的,所以我在Javascript的网页上有一个字符串数组,定义如下:
var arr = ["Apple", "Orange", "Pear"]; //this is populated by a php script prior to being sent to the client.
问题是,当我尝试在如下所示的 for 循环中访问这些项目时:
for (var i = 0; i < arr.length; i++)
{
alert(arr[i]);
}
我的输出将是:
A
p
p
因此,数组似乎一次只能访问一个字符,这当然不是我创建数组的原因。
我真的无法理解为什么会发生这种情况。有人能看到问题吗?
编辑:完整的代码 - 它不是很好,但它是一个正在进行的工作:
var votes = {<?php foreach ($options as $o) { echo ' "'.$o['name'].'":"'.$o['votes'].'"'; if (next($options)) { echo ','; } } ?>};
var name = [<?php for ($i = 0; $i < count($options); $i++) { echo ' "'.$options[$i]['name'].'"'; if ($i < count($options)-1) { echo ','; } } ?> ];
function run(num) {
document.getElementById('out').innerHTML = '';
for (var i = 0; i < num; i++) {
if (document.getElementById(i+1).checked)
{
votes[name[i]] = (parseInt(votes[name[i]]) + 1);
document.getElementById(num+(i+1)).checked = true;
}
if (document.getElementById(num+(i+1)).checked)
{
votes[name[i]] = (parseInt(votes[name[i]]) + 1);
}
document.getElementById('out').innerHTML += name[i] + ': ' + votes[name[i]] + '<br />';
console.log('arr: ', name, 'j: ', name.length);
}
$.ajax("vote.php", {
data:votes,
});
}
这是选项
"options" : [
{
"name" : "Children of Men",
"id" : "1",
"votes" : "0"
},
{
"name" : "City of God",
"id" : "2",
"votes" : "0"
},
{
"name" : "Hidden",
"id" : "3",
"votes" : "0"
},
{
"name" : "We Need To Talk About Kevin",
"id" : "4",
"votes" : "0"
}
]
var arr = ['Apple', 'Orange', 'Pear'],
i,
j = arr.length;
console.log('Array?: ', arr.toString() == '[object Array]'); // edited
for (i = 0; i < j; i++) {
console.log('arr: ', arr, 'j: ', j);
}
上面的控制台.log应该告诉你出了什么问题。
最后,我通过定义数组来"修复"这个问题
new Array( 'Apple', 'Orange', 'Pear' );
不幸的是,我无法弄清楚实际问题。
相关文章:
- 从JavaScript中正确返回html中的特殊字符
- 为什么Angularjs服务返回的是字符数组而不是对象数组
- 如何使用match返回字符串中的字符
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- 请求返回 unicode 替换字符
- Javascript正则表达式,返回连字符和空格后面的数字
- 为什么这个正则表达式返回前面的字符
- 使用onkeypress/onkeydown返回自然语言字符,同时保留退格功能
- 从nodejs-crypto返回的字符串中修剪非ascii字符
- Typeahead.js-特殊字符返回为“”&#230"等
- 正则表达式搜索短语,在短语后返回“n”个字符
- Object.keys(obj).length 返回字符总和而不是记录总数
- 为什么这是 for 循环返回字符的索引而不是整个属性
- Javascript - 如何获取字符串,打印单词,字符,空格,平均单词长度的#并作为对象返回
- 我如何调整这个 javascript 以返回一个后代号,减去最后 2 个字符
- 在 PHP 子字符串中返回这些类型的字符
- 返回字符对于SimpleText区域和Validation TextBox的混合无效
- Json返回字符
- jQuery tokeninput插件,当返回1字符数字的结果时出现问题
- Javascript 字符串数组访问返回字符