在Javascript中,是循环,所以内存密集吗?我得到一个内存问题,它应该只循环36次:
const suits = ['♥', '♠', '♣', '♦'],
ranks = [6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A'];
var cards = [];
for (let i = 0; i < suits.length; i++) {
for (let j = 0; j < ranks.length; i++) {
var colour = 'black';
if (suits[i] === '♥' || suits[i] === '⋄') {
colour = 'red';
}
cards.push({
suit : suits[i],
rank : ranks[j],
colour : colour,
value : j+1
});
}
}
console.log(cards);
https://jsfiddle.net/xntL1ygj/
但这很好:
const suits = ['♥', '♠', '♣', '♦'],
ranks = [6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A'];
let cards = [];
for (let suit of suits) {
for (let rank of ranks) {
var colour = 'black';
if (suit === '♥' || suit === '⋄') {
colour = 'red';
}
cards.push({
suit : suit,
rank : rank,
colour : colour,
//value : j+1
});
}
}
console.log(cards);
答案 0 :(得分:1)
const suits = ['♥', '♠', '♣', '♦'],
ranks = [6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A'];
var cards = [];
for (let i = 0; i < suits.length; i++) {
// I fixed your bug below--it used to be i++, not j++
for (let j = 0; j < ranks.length; j++) {
var colour = 'black';
if (suits[i] === '♥' || suits[i] === '⋄') {
colour = 'red';
}
cards.push({
suit : suits[i],
rank : ranks[j],
colour : colour,
value : j+1
});
}
}
console.log(cards);
嗯,你看,当你
let j = 0; j < ranks.length; i++)
该循环永远运行,因为j
始终为0.很有趣,那就是。