如何判断数组的某一项和另外一个数组对象里面的值相等,然后在取出对应的值

var arr = [0,1,3,2]

var objArr = [

{abc:0,def:'你'},
{abc:1,def:'我'},
{abc:2,def:'他'},
{abc:3,def:'它'}

]
如何判断当arr的某个下标对应的值和objArr的abc的值相等了取出对应def对应的值,这个方法如何封装

eg:arr[0] ==> "你"
arr[2] ==> "它"

阅读 6.4k
5 个回答
    var aa = function(arr,objArr){
        for(let i=0;i<objArr.length;i++){
            for(let o in objArr[i]){
                if(objArr[i][o]===arr){
                    console.log(objArr[i]['def'])
                }
            }
        }
    }
    aa(arr[0],objArr)
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        var arr = [0,1,2,3];
        var objArr = [
            {abc:0,def:'你'},
            {abc:1,def:'我'},
            {abc:2,def:'他'},
            {abc:3,def:'它'}
        ];
        function checkFn(num) {
            objArr.forEach(function(item){
                if(item.abc == arr[num]){
                    console.log(item.def);
                }
            })
        }
        checkFn(0); // checkFn(0) ==> '你'
    </script>
</body>
</html>

题主最好先学习一下markdown。

arr.forEach((key,index) => {
    objArr.forEach(item => {
        if(item.abc === key) {
            arr[index] = item.def
        }
    })
})
console.log('arr[0]',arr[0])
新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题