鍍金池/ 問答/HTML/ js數(shù)組對象判斷

js數(shù)組對象判斷

var a1 = [

{text:"你"},
{text:"好"}

]
var b1 = [

{text:"你"},
{text:"好"}

]

var a2 = [

{text:"你"},
{text:"好"}

]
var b2 = [

{text:"你"},
{text:"們"}

]
寫個方法判斷上面啊a跟b 里面text屬性的值是否相等 要一一對應(yīng) 你===你 好===好

比如方法是 fn(a1,b1) //true

       fn(a2,b2)    //false

回答
編輯回答
臭榴蓮
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]);
    })
}
2017年1月14日 22:17
編輯回答
尋仙
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
2017年11月28日 14:40
編輯回答
懶洋洋
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));
2017年8月10日 11:50