如果数组值包含一些字符串,如何过滤它
How to filter an array value if it containes some string
我有一个数组,看起来像这样
[ { day: 'Friday', time: '14-16 Free' },
{ day: 'Friday', time: '16-18 Free' },
{ day: 'Friday', time: '18-20 Free' },
{ day: 'Friday', time: '20-22 Fully booked' } ]
我想过滤掉其中不包含 'Free' 的任何值,我尝试了长度但它没有用,有人可以向我解释为什么吗?
var array = [ { day: 'Friday', time: '14-16 Free' },
{ day: 'Friday', time: '16-18 Free' },
{ day: 'Friday', time: '18-20 Free' },
{ day: 'Friday', time: '20-22 Fully booked' } ];
console.log(array.filter((e) => e.time === (e.time.length < 11)));
let data = [
{ day: 'Friday', time: '14-16 Free' },
{ day: 'Friday', time: '16-18 Free' },
{ day: 'Friday', time: '18-20 Free' },
{ day: 'Friday', time: '20-22 Fully booked' }
];
let result = data.filter((e) => e.time.indexOf('Free') === -1);
console.log(result); // [{day: "Friday", time: "20-22 Fully booked"}]
Plunker 是 here。
使用 ES6
的 includes()
尝试以下操作:
var array = [ { day: 'Friday', time: '14-16 Free' },
{ day: 'Friday', time: '16-18 Free' },
{ day: 'Friday', time: '18-20 Free' },
{ day: 'Friday', time: '20-22 Fully booked' } ];
var res = array.filter((e) => (!(e.time.includes('Free'))));
console.log(res)
我有一个数组,看起来像这样
[ { day: 'Friday', time: '14-16 Free' },
{ day: 'Friday', time: '16-18 Free' },
{ day: 'Friday', time: '18-20 Free' },
{ day: 'Friday', time: '20-22 Fully booked' } ]
我想过滤掉其中不包含 'Free' 的任何值,我尝试了长度但它没有用,有人可以向我解释为什么吗?
var array = [ { day: 'Friday', time: '14-16 Free' },
{ day: 'Friday', time: '16-18 Free' },
{ day: 'Friday', time: '18-20 Free' },
{ day: 'Friday', time: '20-22 Fully booked' } ];
console.log(array.filter((e) => e.time === (e.time.length < 11)));
let data = [
{ day: 'Friday', time: '14-16 Free' },
{ day: 'Friday', time: '16-18 Free' },
{ day: 'Friday', time: '18-20 Free' },
{ day: 'Friday', time: '20-22 Fully booked' }
];
let result = data.filter((e) => e.time.indexOf('Free') === -1);
console.log(result); // [{day: "Friday", time: "20-22 Fully booked"}]
Plunker 是 here。
使用 ES6
的 includes()
尝试以下操作:
var array = [ { day: 'Friday', time: '14-16 Free' },
{ day: 'Friday', time: '16-18 Free' },
{ day: 'Friday', time: '18-20 Free' },
{ day: 'Friday', time: '20-22 Fully booked' } ];
var res = array.filter((e) => (!(e.time.includes('Free'))));
console.log(res)