var obj = {
name: "Simon",
age: "20",
clothing: {
style: "simple",
hipster: false
}
}
for(var propt in obj){
console.log(propt + ': ' + obj[propt]);
}Run Code Online (Sandbox Code Playgroud)
变量如何propt表示对象的属性?它不是内置方法或属性.为什么它会出现在对象中的每个属性?
async在await循环中使用是否有任何问题?我正在尝试循环遍历文件数组和forEach每个文件的内容.
import fs from 'fs-promise'
async function printFiles () {
const files = await getFilePaths() // Assume this works fine
files.forEach(async (file) => {
const contents = await fs.readFile(file, 'utf8')
console.log(contents)
})
}
printFiles()
Run Code Online (Sandbox Code Playgroud)
这段代码确实有效,但这可能会出错吗?我有人告诉我你不应该使用await这样的高阶函数,所以我只是想问一下这是否有任何问题.
在我的代码中,我有几个字典(如此处所示),它是String索引的.由于这是一个临时类型,我想知道是否有任何建议我将如何能够遍历每个键(或值,无论如何我都需要键).任何帮助赞赏!
myDictionary: { [index: string]: any; } = {};
Run Code Online (Sandbox Code Playgroud) 可以说我有以下方法:
getErrorMessage(state: any, thingName?: string) {
const thing: string = state.path || thingName;
const messages: string[] = [];
if (state.errors) {
for (const errorName in state.errors) {
switch (errorName) {
case 'required':
messages.push(`You must enter a ${thing}`);
break;
case 'minlength':
messages.push(`A ${thing} must be at least ${state.errors['minlength'].requiredLength}characters`);
break;
case 'pattern':
messages.push(`The ${thing} contains illegal characters`);
break;
case 'validateCardNumberWithAlgo':
messages.push(`Card doesnt pass algo`);
break;
}
}
}
return messages;
}
Run Code Online (Sandbox Code Playgroud)
我跑的时候
ng lint
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
for(... in ...)语句必须使用if语句进行过滤
看一下类似的问题,我认为答案不适用于我的情况.所有switch语句都在if-else-if阶段的类别中.
tslint应该将switch语句视为if语句的形式,但它没有?!
javascript ×3
angular ×2
typescript ×2
angular-cli ×1
async-await ×1
html5 ×1
loops ×1
node.js ×1
object ×1
promise ×1
tslint ×1