微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

遍历Json对象数组的函数需要返回一个对象

如何解决遍历Json对象数组的函数需要返回一个对象

所以我并不是最擅长编写函数,所以我很难解决这个问题。因此,我试图创建一个遍历对象数组的函数,并在读取给定名称后停止并返回该人员的编号。

const array = [{name: 'Ann',phone: '575.580.1400',role: 'Developer'},{name: 'Ben',phone: '575.641.4041',role: 'Manager'},{name: 'Clara',phone: '512.717.5690',role: 'Developer'}];

const getNumber = (person,book ) => {
      for (var x of book ) {
          if( x == person) {
             return number;}
     return ('Not found'); 
     }
}

我知道我不知道怎么打号码,但我只是想不起来怎么做。

解决方法

首先,您需要访问对象内部的键,并且newlist不在正确的位置。其次,使用return ('Not found');而不是===。在代码中,如果函数仅在第一次迭代中返回。因为如果您搜索==并在Clara条件下,if将不等于Ann,所以它将返回Clara并且不会迭代其余数组

Not Found

或者,您也可以使用const array = [{ name: 'Ann',phone: '575.580.1400',role: 'Developer' },{ name: 'Ben',phone: '575.641.4041',role: 'Manager' },{ name: 'Clara',phone: '512.717.5690',role: 'Developer' } ]; const getNumber = (person,book) => { for (var x of book) { if (x.name === person) { return x.phone; } } return ('Not found'); } console.log(getNumber('Clara',array))find之类的数组方法

filter

,

以下代码有助于迭代JSON对象并打印所需的值。您可以在IF中使用所需的条件,并相应地打印所需的值。

<script>
function setSrc(i) {
  let mysrc = 
  [ "D:\\pics\\cubered.png","D:\\pics\\cubegreen.png","D:\\pics\\cubeblue.png","D:\\pics\\cubeyellow.png"]
  document.getElementById("image").src = mysrc[i];
}

//const btn1=document.getElementById("btn1");
//btn1.addEventListener("click",setSrc);
</script>

<figure class = "imgContainer">
<img class = "image" id = "image" src = " " alt = "activeimage">
 <div class = "buttonsContainer" id = "btctn1">
      <div class = "button" id = "btn1" onclick=setSrc(0)>BTN 1</div>
      <div class = "button" id = "btn2" onclick=setSrc(1)>BTN 2</div>
      <div class = "button" id = "btn3" onclick=setSrc(2)>BTN 3</div>
      <div class = "button" id = "btn4" onclick=setSrc(3)>BTN 4</div>
    </div>
    
<script>setSrc(0);</script>
,

尝试一下

我正在使用一些而不是foreach或其他循环。 some()方法对数组中存在的每个元素执行一次回调函数,直到找到回调返回真实值的那个。

const getNumber = (person,book ) => { 
      let pnumber;
      book.some((item) => {
        if(item.name.toLowerCase()===person.toLowerCase()){
            pnumber = item.phone;
            return true;
             }
         })
      return pnumber ? pnumber: "Not Found" ;
     }

您可以这样称呼

getNumber('clara',array)
"512.717.5690"

getNumber('ben1',array)
"Not Found"

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。