为了账号安全,请及时绑定邮箱和手机立即绑定

如何找到带有值的数组索引?

如何找到带有值的数组索引?

三国纷争 2019-11-25 13:51:23
说我有这个imageList = [100,200,300,400,500];这给了我[0]100 [1]200 等等JavaScript中有什么方法可以返回带有值的索引?即我想要200的索引,我得到1。
查看完整描述

3 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

您可以使用indexOf:


var imageList = [100,200,300,400,500];

var index = imageList.indexOf(200); // 1

如果无法在数组中找到值,则将得到-1。


查看完整回答
反对 回复 2019-11-25
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

对于对象阵列使用map与indexOf:


var imageList = [

   {value: 100},

   {value: 200},

   {value: 300},

   {value: 400},

   {value: 500}

];


var index = imageList.map(function (img) { return img.value; }).indexOf(200);


console.log(index);

在现代浏览器中,您可以使用findIndex:


var imageList = [

   {value: 100},

   {value: 200},

   {value: 300},

   {value: 400},

   {value: 500}

];


var index = imageList.findIndex(img => img.value === 200);


console.log(index);

它是ES6的一部分,并受 Chrome,FF,Safari和Edge支持


查看完整回答
反对 回复 2019-11-25
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

这是在javascript中的复杂数组中查找值索引的另一种方法。希望确实能帮助到别人。让我们假设我们有一个如下的JavaScript数组,


var studentsArray =

     [

    {

    "rollnumber": 1,

    "name": "dj",

    "subject": "physics"

   },

   {

   "rollnumber": 2,

  "name": "tanmay",

  "subject": "biology"

   },

  {

   "rollnumber": 3,

   "name": "amit",

   "subject": "chemistry"

   },

  ];

现在,如果我们需要选择数组中的特定对象。让我们假设我们要查找名称为Tanmay的学生的索引。


我们可以通过遍历数组并比较给定键的值来做到这一点。


function functiontofindIndexByKeyValue(arraytosearch, key, valuetosearch) {


    for (var i = 0; i < arraytosearch.length; i++) {


    if (arraytosearch[i][key] == valuetosearch) {

    return i;

    }

    }

    return null;

    }

您可以使用该函数来查找特定元素的索引,如下所示,


var index = functiontofindIndexByKeyValue(studentsArray, "name", "tanmay");

alert(index);


查看完整回答
反对 回复 2019-11-25
  • 3 回答
  • 0 关注
  • 558 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信