In the following example code, how can I find all the indexes of any array of year 2021 in the dates? Thank you for any guide!
function test() {
const dates = [
'October 31, 2020',
'November 30, 2020',
'December 31, 2020',
'January 31, 2021',
'February 28, 2021',
'March 31, 2021',
];
// How should the following code be changed to get indexes of any array of year 2021, which should be 3,4,5?
// The following code returned only the first array index, 3, not 3,4,5.
var indexes = dates.findIndex(el => el.includes('2021'));
console.log(indexes);
}
CodePudding user response:
Use reduce:
/*<ignore>*/console.config({maximize:true,timeStamps:false,autoScroll:false});/*</ignore>*/
function test() {
const dates = [
'October 31, 2020',
'November 30, 2020',
'December 31, 2020',
'January 31, 2021',
'February 28, 2021',
'March 31, 2021',
];
// The following code returned 3,4,5.
var indexes = dates.reduce((acc,el,i) => el.includes('2021') ? [...acc,i] : acc,[]);
console.log(indexes);
}
test()
<!-- https://meta.stackoverflow.com/a/375985/ --> <script src="https://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" frameborder="0"></iframe>