我是第一次学习JavaScript,我想知道为什么我的代码不起作用。我有Python / Django知识。
我必须创建一个名称列表,并且只显示以“ B”字母开头的名字。
var listNames = ['Paul', 'Bruno', 'Arthur', 'Bert', 'José']
for (var i in listNames) {
if (i.substr(0, 1) === 'B') {
console.log(i);
}
}
但是此代码不显示任何内容。
您应该使用forEach
,而不是for...in
用于迭代对象
并且i.substr(0, 1) === 'B'
可以替换为i.startsWith('B')
var listNames = ['Paul', 'Bruno', 'Arthur', 'Bert', 'José']
listNames.forEach( i => {
if (i.startsWith('B')) {
console.log(i);
}
})
要么 for...of
var listNames = ['Paul', 'Bruno', 'Arthur', 'Bert', 'José']
for (i of listNames) {
if (i.startsWith('B')) {
console.log(i);
}
}
另一个选择是使用filter()
原始阵列并将其减少为新阵列。
var listNames = ['Paul', 'Bruno', 'Arthur', 'Bert', 'José']
var new_listNames = listNames.filter( i => i.startsWith('B') )
console.log(new_listNames);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句