一个数组包含多个小数组,如何取输入框中和数组中对应的数组

比如
var arr=[{key:1,value:9},{key:2,value:8}]
输入框输入1,
表格中显示key:1,value:9这条记录。

arr.forEach(
        (obj) => {
          if (obj['key'] == 1) {
            console.log(obj);
          }
        },
      );

arr.forEach((i)=>{if(i.key==input){return i}});
forEach好像不能return,如果没值,就for循环,如果有重复的数据,就push到数组,循环完再输出.

let res=[];
for(i=0;i<arr.length;i++){
  if(arr[i].key==input){
    res.push(arr[i]);
  }
}
```javascript

<body>
    <input type="text" id="txt" autocomplete="off">
    <p id="pval"></p>
</body>
<script>
    let txt=document.getElementById('txt')
    let op=document.getElementById('pval')
    var arr = [{key:1,value:9},{key:2,value:8}]
    txt.oninput = function(){
        let val = txt.value
        let res = arr.find(item=>{
            return item.key == val
        })
        op.innerHTML=res?JSON.stringify(res):''
    }
</script> 

可以参考下

这是数组里面存放的对象,要在表格中显示key:1,value:9这条记录。可以像这样 arr[0].key,arr[0].value将数据取出,并放到表格对应的地方

js中你定义的arr是一个数组对象
数组内取值的方法有很多,比较常见常用的是下标获取。
比如你上面的数据中要获取第一个元素内容,则可以使用 arr[0]
因为数组下标是从0开始的,因此在用户输入后减一并传递给数组下标获取相应内容,代码如下

var arr = [{key:1,value:9},{key:2,value:8}];
console.log(arr[0]);