而当我使用单个值时,会引发错误。遗漏的类型错误:health.map不是一个函数
- 我是新来的JS。
- 当我使用阵列健康地图方法工作正常
- 而当我使用单个值它会引发错误。未捕获TypeError:health.map不是一个函数
- 你能告诉我如何解决它..
- 提供我的代码如下。
工作输入而当我使用单个值时,会引发错误。遗漏的类型错误:health.map不是一个函数
let health =[{ "addedByName":"player", "mobileVersion":"sa,ple.txt" },
{ "addedByName":"player", "mobileVersion":"sa,ple.pdf" }
];
工作不输入
let health ={ "addedByName":"player", "mobileVersion":"sa,ple.txt" };
破琴: http://jsfiddle.net/fq9ucpcb/
let health ={ "addedByName":"player", "mobileVersion":"sa,ple.txt" };
let types = ["text/plain", "application/pdf"];
let downloads = health.map(function(version) {
let ext = version.mobileVersion.replace(/.*(?=\.\w+)/, "");
.map()
函数仅适用于数组,这就是为什么当您尝试在对象上使用它时出现错误。
如果要通过一个对象的属性环,可以使用的方法等for...in
或Object.keys()
可你在我的小提琴更新其如此混乱:( –
地图是Array类原型方法。 map方法适用于Array中的每个元素。
let health = {“addedByName”:“player”,“mobileVersion”:“sample.txt”};
“健康”是一个对象,你想调用的地图()方法,在这个健康Object.So这里你得到错误“遗漏的类型错误:health.map不是一个函数”是指本地图( )对象(健康)不起作用。
你能在我的小提琴更新....这是 –
“健康”是不是数组。 “map”方法只能用于数组。健康是一个具有属性的对象,并且这些属性需要是唯一的。您可以使用属性访问器修改属性,如“。” (点符号)或属性[属性名称'](括号表示法)。如果您的对象具有相似的属性,则可以使用“for in”循环和正则表达式或其他字符串匹配方法来修改这些属性值。
let health = {
"addedByName": "player",
"mobileVersion": "sa,ple.txt"
};
let types = ["text/plain", "application/pdf"];
let downloads = health.mobileVersion.replace(/.*(?=\.\w+)/, "")
console.log(downloads);
你能在我的小提琴更新混乱....这是令人困惑 –
@texirv你的“地图功能”包括了一系列的在这个问题的范围之外,我不能解耦你的代码,也许你可以缩小这个问题的范围,并提出另一个问题:) – Rick
不能映射的对象。你想要做什么?映射仅为顺序容器提供了感官,而不是简单对象。 – Carcigenicate