我的角度控制器中有一个对象数组。
我想返回数组中字段的索引值,该字段具有与我的参数匹配的 ID。
数组中只有一个具有匹配字段 Id
的对象。
$scope.indexOfField = function(fieldId) {
return $scope.model.fieldData.filter(function(x) {
if (x.Id === fieldId) return // ???????
});
}
从Array.prototype.filter
留档:
回调通过三个参数调用:
但是,如果数组中只有一个实例,您可能应该使用some
函数(因为它会在找到第一个匹配项后立即停止),然后使用indexOf
查找索引:
var field = $scope.model.fieldData.filter(function(x) {
return x.Id === fieldId;
})[0];
var index = $scope.model.fieldData.indexOf(field);
或者迭代数组,直到找到正确的元素:
var index;
$scope.model.fieldData.some(function(x, i) {
if (x.Id === fieldId) return (index = i);
});
不能从filter方法返回索引。
filter()方法创建一个新数组,其中所有元素都通过了由提供的函数实现的测试。
您可以用于“每一个”
$scope.indexOfField = function(fieldId) {
var i;
return $scope.model.fieldData.forEach(function(x, index) {
if (x.Id === fieldId) {
i = index;
}
});
// use i
}
或者甚至更好地用于,
因为当你找到你的ID时,你不能停止。
$scope.indexOfField = function(fieldId) {
var fieldData = $scope.model.fieldData,
i = 0, ii = $scope.model.fieldData.length;
for(i; i < ii; i++) if(fieldData[i].Id === fieldId) break;
// use i
}
. findIndex()
方法返回满足函数给定条件的数组第一个元素的索引。如果函数对数组的所有元素返回false
,则结果为-1
。
请参见此处的文档。
在我的例子中,< code>x是每次迭代的一项,我使用交叉函数来表示我的条件。
const datas = [];
const fieldId = 5;
let index = datas.findIndex( x => x.Id === fieldId );
问题内容: 我想从PHP脚本返回JSON。 我只是回应结果吗?我必须设置标题吗? 问题答案: 通常,没有它会没事,但是您可以并且应该设置Content-Type标头: 如果不使用特定的框架,通常会允许一些请求参数来修改输出行为。通常,为了快速进行故障排除,不发送标头,或者有时将数据有效载荷print_r盯着它很有用(尽管在大多数情况下,它不是必需的)。
JNI参考文献中说 “本地引用在本机方法调用期间有效。它们在本机方法返回后自动释放。 资料来源:http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html#global_local 我有点迷路了。根据上述内容,我必须显式调用NewGlobalRef并传递从调用NewObject返回的对象。我试过这个,似
问题内容: JNI参考资料指出 “本地引用在本地方法调用期间有效。本地方法返回后,它们会自动释放。 来源:http : //docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/functions.html#global_local 我有点迷路了。根据上述内容,我必须显式调用 NewGlobalRef 并将从调用返回的对象传递给 NewOb
我知道你不能从返回,所以这个例子不起作用: 其中,可以返回有效字符串或空可选字符串。我所做的工作是: 这是更长的,并没有太大的不同,只是检查空值摆在首位。我觉得必须有一个更简洁的方式使用可选。
问题内容: 如何从外壳脚本内部执行Java方法? 问题答案: 您只能调用该方法。设计您的方法,使其调用所需的方法。 当我说 调用 方法时,您不会显式调用它。调用它是Java程序的唯一入口点。 如果您的班级看起来像: 您可以使用以下命令行在您可以找到的目录中调用from (如果您位于下面显示的结构的目录中): 如果要从其他目录(请参见下面的目录结构)执行此操作,则必须设置类路径。 为了清楚起见,请采
问题内容: 我有一类这样的方法: 我如何在另一个类中调用此方法? 问题答案: 1. 如果要从中调用该方法的类位于同一包中,则创建该类的实例并调用该方法。 2. 使用 3. 最好有个赞等等。 例如: