当前位置: 首页 > 知识库问答 >
问题:

从筛选方法 java 脚本返回索引值

权浩邈
2023-03-14

我的角度控制器中有一个对象数组。

我想返回数组中字段的索引值,该字段具有与我的参数匹配的 ID。

数组中只有一个具有匹配字段 Id 的对象。

$scope.indexOfField = function(fieldId) {
  return $scope.model.fieldData.filter(function(x) {
    if (x.Id === fieldId) return // ???????
  });
}

共有3个答案

濮阳宏硕
2023-03-14

Array.prototype.filter留档:

回调通过三个参数调用:

    < li >元素的值 < li >元素的索引 < li >被遍历的数组对象

但是,如果数组中只有一个实例,您可能应该使用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);
});
唐焕
2023-03-14

不能从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
}
楚冷勋
2023-03-14

. 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. 最好有个赞等等。 例如: