【发布时间】:2017-01-03 16:47:59
【问题描述】:
我正在尝试使用原生 javascript 从数组中提取所有对象。我不断得到一个对象作为价值。我做错了什么?
var person1 = { name: "Daniel Machado", life: true };
var person2 = { name: "Marla Singer", life: null };
var array = ["stg", person1, 1, null, person2];
function extractedObj(objToExtract){
for(var i = array.length-1; i--;){
if (typeof array[i] === "object"){
splicedObj = array.splice(i, 1);
}
}
return splicedObj;
};
extractedObj(array);
// the result I'm looking for is:
// [Object, Object]
// [person1, person2]
// the result I'm getting is:
// [Object]
// [person1]
输出只有一个对象。我正试图把它们都拉出来。理想情况下,我想使用 forEach 和/或箭头函数来做到这一点,但任何事情都可以。也不确定为什么在这种情况下你必须减少拼接。从来没有真正理解这一点,只知道这就是许多例子所显示的。如果有人可以解释,将不胜感激。
【问题讨论】:
标签: javascript arrays loops typeof splice