我有一个包含数据的数组(JavaScript / jQuery),我想循环并将值打印到控制台。现在它似乎很简单,但我似乎无法让它工作。目前我只有一个价值,但我不认为通过增加更多价值会产生影响。
list = ["Example String"];
$j.each(list, function(item) {
console.info(item[0]); // Returns 0 in the console
console.info(item); // Returns undefined in the console
});
我想在控制台中显示为;
Example String
Example String 2
Example String 3
等等......
This is sort of on the right lines但仍无效 - 我尝试了.eq
。我只是认为,因为它没有密钥,使用[0]
在某种程度上是错误的,也许?它必须非常明显,因为我只是没有看到为什么这不起作用。
答案 0 :(得分:2)
在each()
处理函数中,第一个参数是迭代的当前索引。 第二个参数是值本身。试试这个:
var $j = $.noConflict();
list = ["Example String 1", "Example String 2", "Example String 3"];
$j.each(list, function(i, item) {
console.info(item);
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
另请注意,基本循环并不需要jQuery。您可以使用for
:
for (var i = 0; i < list.length; i+) {
console.log(list[i]);
}
或者,如果您可以使用ECMA2015功能forEach()
,但请注意,&lt; IE9:
list.forEach(function(item) {
console.log(item);
});
答案 1 :(得分:0)
猜猜你想要这个:
$j.each(["string_1", "string_2", "string_3"], function(index, value) {
console.log(value + " " + index);
});
你缺少的是,每个都需要2个参数(索引和值)。因此,当您仅使用项时,它表示数组的索引。
请在此处查看jQuery.each() doc和示例。
答案 2 :(得分:0)
你想要这个吗?
<Transaction test={this.test} key={idx} amount={amount} name={name} tags={ this.state.tags} />