Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么结果字符串只返回最后一个结果值_Javascript_Arrays_Loops_Dictionary_Foreach - Fatal编程技术网

Javascript 为什么结果字符串只返回最后一个结果值

Javascript 为什么结果字符串只返回最后一个结果值,javascript,arrays,loops,dictionary,foreach,Javascript,Arrays,Loops,Dictionary,Foreach,我有一个代码,它从用户输入的输入字段中获取一些值。我的JS代码应该检查是否所有必需的标题都不是空的。如果没有,则应显示带有结果的警报消息。这是我的密码 var结果=”; 函数IsString(string2Check) { 返回string2Check==“| | string2Check[0]==”; }; 变量标题= [ [“1”,“这是第一个标题(非空)”, [“”,“假设这是空的”], [“”,“假设这也是空的”] ]; var titlesMap=新地图(标题); forEach(函

我有一个代码,它从用户输入的输入字段中获取一些值。我的JS代码应该检查是否所有必需的标题都不是空的。如果没有,则应显示带有结果的
警报
消息。这是我的密码

var结果=”;
函数IsString(string2Check)
{
返回string2Check==“| | string2Check[0]==”;
};
变量标题=
[
[“1”,“这是第一个标题(非空)”,
[“”,“假设这是空的”],
[“”,“假设这也是空的”]
];
var titlesMap=新地图(标题);
forEach(函数(键、值、标题映射)
{
if(isStringEmpty(值))
{
结果+='字段'+'''''+key+'''+'不能为空!\n'
}
});
结果=结果。替换(/\n$/,“”);

警报(结果)您正在使用一个
映射
并将其传递给键/值对。地图中的关键点必须是唯一的。通过两次添加具有相同键(
)的条目,您将用第二个键覆盖第一个键

如果您不是指键/值对,不要使用
Map
,直接使用数组数组,就像这样(主要更改是删除
titlesMap
forEach
中的数组):

var结果=”;
函数IsString(string2Check)
{
返回string2Check==“| | string2Check[0]==”;
};
变量标题=
[
[“1”,“这是第一个标题(非空)”,
[“”,“假设这是空的”],
[“”,“假设这也是空的”]
];
标题.forEach(功能(条目)
{
if(isStringEmpty(条目[0]))
{
结果+='字段'+'''+'项[1]+''+'不能为空!\n'
}
});
结果=结果。替换(/\n$/,“”);

警报(结果)您正在使用一个
映射
并将其传递给键/值对。地图中的关键点必须是唯一的。通过两次添加具有相同键(
)的条目,您将用第二个键覆盖第一个键

如果您不是指键/值对,不要使用
Map
,直接使用数组数组,就像这样(主要更改是删除
titlesMap
forEach
中的数组):

var结果=”;
函数IsString(string2Check)
{
返回string2Check==“| | string2Check[0]==”;
};
变量标题=
[
[“1”,“这是第一个标题(非空)”,
[“”,“假设这是空的”],
[“”,“假设这也是空的”]
];
标题.forEach(功能(条目)
{
if(isStringEmpty(条目[0]))
{
结果+='字段'+'''+'项[1]+''+'不能为空!\n'
}
});
结果=结果。替换(/\n$/,“”);

警报(结果)如果您看到两个值为空

var titles = 
[
    ["1", "This is 1st title(not empty)"],
    ["", "Suppose this is empty"],
    ["", "Suppose this is empty too"]
];
映射时,映射时间键应是唯一的

var titlesMap = new Map(titles);
当它第一次映射时,值将为

["", "Suppose this is empty"]
这里的键是==>,如果该键为空,则值将是

但之后它会覆盖密钥的值

["", "Suppose this is empty too"]
因此,最后一个值将位于中,假设它也是空的


如果看到两个值为空,则应尝试不进行映射

var titles = 
[
    ["1", "This is 1st title(not empty)"],
    ["", "Suppose this is empty"],
    ["", "Suppose this is empty too"]
];
映射时,映射时间键应是唯一的

var titlesMap = new Map(titles);
当它第一次映射时,值将为

["", "Suppose this is empty"]
这里的键是==>,如果该键为空,则值将是

但之后它会覆盖密钥的值

["", "Suppose this is empty too"]
因此,最后一个值将位于中,假设它也是空的


您应该在不映射的情况下进行尝试

预期的输出是什么?在浏览器中内置调试器的情况下逐步执行代码时,您会看到什么?调试是诊断问题的第一步。字段“假定为空”不能为空!“假设这也是空的”字段不能为空!键应该是唯一的
console.log(titlesMap)
,您将得到答案预期的输出是什么?当您在浏览器中内置调试器的情况下逐步完成代码时,您会看到什么?调试是诊断问题的第一步。字段“假定为空”不能为空!“假设这也是空的”字段不能为空!键应该是唯一的
console.log(titlesMap)
,您将得到您的答案非常感谢!不,实际上foo被认为是空的,因为它以空格开头。但是不要编辑它,不管怎样它都会有帮助:)非常感谢!不,实际上foo被认为是空的,因为它以空格开头。但不要编辑它,不管怎样它都会有帮助:)