【发布时间】:2016-04-14 11:04:32
【问题描述】:
如果给出如下脚本:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test DOC</title>
<script type="text/javascript" src="../nt_scr/jq_1.9.js"></script>
<script type="text/javascript">
var mainObj = { 0: { "fruitName":"Lemon",
"fruitColor":"green",
"fruitTaste":"bad"},
1: { "fruitName":"Mango",
"fruitColor":"Yellow",
"fruitTaste":"Yammy"},
2: {
"fruitName":"Banana",
"fruitColor":"Yellow",
"fruitTaste":"Yammy"},
"skip_these":
{
"team1":"Liverpool",
"team2":"Manchester United"
}
}
var collect_data = $.parseJSON(JSON.stringify(mainObj)),
getFruitNames=[],getFruitColors=[], getFruitTastes=[];
$.each( collect_data,function(index,val){
//console.log(val); //Un-comment this console.log to see the contents of 'val'
//----->Here is the Challenge:,---------\\\
if(/*How do you SKIP if val is something like */ "val.team1" || "val.team2"){
getFruitNames.push(val.fruitName);
getFruitColors.push(val.fruitColor);
getFruitTastes.push(val.fruitTaste);
//This works well so long as we have not yet reached the "skip_these":
//Once there, it reports an error because there is no "skip_these".fruitName or "skip_these".fruitColor
}
console.log( getFruitNames[index])// Run a test out put :: NOTICE the "Undefined" in the Console. How to avoid that?
//To see well, Comment the previous console.log <<the one on top>>
})
</script>
</head>
<body>
</body>
</html>
我以前有时会这样做,但不知何故,我的大脑现在只是一片空白......任何建议都非常感谢。 (请使用您的jQuery 运行)
【问题讨论】:
-
跳过一些
keys的逻辑是什么?哪些键应该跳过,哪些不应该? -
您可以通过返回 true 来跳过 $.each 中的迭代
-
如果您运行代码,请注意控制台中的
"Undefined"。 -
@DanielHigueras... jQuery 文档 (api.jquery.com/jquery.each) 说:
jQuery.each( array, callback )你把true放在哪里...有什么例子吗?? -
@ErickBest "返回非 false 与 for 循环中的 continue 语句相同;它将立即跳到下一次迭代。"取自您的链接
标签: javascript object key iteration