我试图练习我的Javascript chops,并试图找出我尝试实现C#中存在的UIImageView
函数的缺陷。
HTML:
firstOrDefault
JS:
<div id="#resultdiv"></div>
小提琴: http://jsfiddle.net/z3h06mwo/
另外,我应该延长function firstOrDefault ( arr, f )
{
var result = null;
for ( var i = 0, n = arr.length; i < n; ++i )
if (f(i)) return i;
return result;
}
$(document).ready(function(){
var myArray = [1, 5, 9, 18];
var myFunction = function ( x ) { return x > 5; };
$('#resultdiv').text(firstOrDefault(myArray, myFunction)); // should print 9 inside #resultdiv
});
吗?如果是这样,我该怎么做?
答案 0 :(得分:3)
您将索引(0,1,2,...)传递给do
,而不是值;你还要返回索引,而不是值,但你说你希望它返回9,这就是值。
f
直播示例:
function firstOrDefault ( arr, f )
{
var result = null;
var value; // <===
for ( var i = 0, n = arr.length; i < n; ++i ) {
value = arr[i]; // <===
if (f(value)) return value;
// ^^^^^ ^^^^^
}
return result;
}
&#13;
function firstOrDefault(arr, f) {
var result = null;
var value;
for (var i = 0, n = arr.length; i < n; ++i) {
value = arr[i];
if (f(value)) return value;
}
return result;
}
var myArray = [1, 5, 9, 18];
var myFunction = function(x) {
return x > 5;
};
$('#resultdiv').text(firstOrDefault(myArray, myFunction)); // should print 9 inside #resultdiv
&#13;
旁注:看看我如何在那里添加括号,因为我添加了第二个声明? FWIW强烈建议使用大括号始终。您的IDE可以提供帮助。