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

js数组对象判断

js数组对象判断

慕田峪4524236 2019-03-13 13:14:04
var a1 = [{text:"你"},{text:"好"}]var b1 = [{text:"你"},{text:"好"}]var a2 = [{text:"你"},{text:"好"}]var b2 = [{text:"你"},{text:"们"}]写个方法判断上面啊a跟b 里面text属性的值是否相等 要一一对应 你===你 好===好比如方法是 fn(a1,b1) //true       fn(a2,b2)    //false
查看完整描述

3 回答

?
慕桂英3389331

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

var a1 = [

        {text:"你"},

        {text:"好"}

    ];

    var b1 = [

        {text:"你"},

        {text:"好"}

    ];

    var a2 = [

        {text:"你"},

        {text:"好"}

    ];

    var b2 = [

        {text:"你"},

        {text:"们"}

    ];

    function fn(a,b){

        return a.every(function(item,index){

            return item.text == b[index].text;

        })

    }

    console.log(fn(a1,b1),fn(a2,b2));


查看完整回答
反对 回复 2019-03-20
?
SMILET

TA贡献1796条经验 获得超4个赞

function fn(a, b) => {

    let mapA = {};

    let mapB = {};

    a.forEach(item => {

        if(mapA[item.text]) {

            mapA[item.text] += 1;

        } else {

            mapA[item.text] = 1;

        }

    });

    b.forEach(item => {

        if(mapB[item.text]) {

            mapB[item.text] += 1;

        } else {

            mapB[item.text] = 1;

        }

    });


    return Object.keys(mapA).every(key => {

        return (mapB[key] && mapA[key] == mapB[key]);

    })

}


查看完整回答
反对 回复 2019-03-20
?
HUH函数

TA贡献1836条经验 获得超4个赞

function fn(a,b){

    a = a.length==0?"":a.map(i=>i.text);

    b = b.length==0?"":b.map(i=>i.text);

    a.sort();b.sort;

    return a.join("") === b.join("")

}

fn([{text:"你"},{text:"好"},{text:"啊"}],[{text:"你"},{text:"啊"},{text:"好"}]);//true


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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号