私は持っています:
function isLong(val)
{
if(val.length > 4){
return true;
} else {
return false;
}
}
var page = [{
title: 'aaa',
text: '111'
}, {
title: 'bbb',
text: '222'
}, {
title: 'ccc',
text: '333'
}, {
title: 'ddd',
text: '444'
}, {
title: 'eee',
text: '444'
}];
console.log([].concat.apply([], '222, 333, 4441, long1, long, long2'.split(', ').map(function (t) {
return page.filter(function (o) {
return o.text === t || isLong(t);
}).map(function (c) {
return c.title
});
})).join(", "));
しかし、これはすべての値を返します。これを行で確認してみます return o.text === t || isLong(t);
この例では、受け取りたい:
bbb、ccc、long1、long2
bbb と ccc はオブジェクト ページからのものです。long1 と long2 は、コンマで区切られたカスタム文字列の形式です。