Javascript 带有数组和元素的Regexp(Js)

Javascript 带有数组和元素的Regexp(Js),javascript,arrays,regex,integer,elements,Javascript,Arrays,Regex,Integer,Elements,语言是JS 假设我们有一个数组,在一个包含其他字母(例如1a或-2d)的字符串中充满了正整数和负整数,问题是如何使用正则表达式调用所有以正整数开头或包含正整数的字符串? 我对regexs是新手,根据我所学,我尝试使用/^[0-9]/.tes,但是它不起作用,所以,您认为还有其他可行的解决方案吗?试试这个: function positiveElements(arr) { //write your RegEx let reEx = new RegExp(/^\d+\w*$/);

语言是JS

假设我们有一个数组,在一个包含其他字母(例如1a或-2d)的字符串中充满了正整数和负整数,问题是如何使用正则表达式调用所有以正整数开头或包含正整数的字符串? 我对regexs是新手,根据我所学,我尝试使用/^[0-9]/.tes,但是它不起作用,所以,您认为还有其他可行的解决方案吗?

试试这个:

function positiveElements(arr) {

    //write your RegEx
    let reEx = new RegExp(/^\d+\w*$/);

    //return the filtered array
    return arr.reduce((p,c) => {
        //push the element only if it passes the RegEx test!
        if(reEx.test(c)) p.push(c);
        return p;
    }, []);
}

//sample test
let arr = ["1a", "-3d", "4k", "-7e", "-100f", "24c", "1945y"]
positiveElements(arr);

//Output
// ["1a", "4k", "24c", "1945y"]

因为正数是大于0的数。我们可以检查字符串是否以数字开头,而不是0

使用。对于每个字符串,测试它是否以1-9之间的数字开头,因为整数不会以0开头

const getPositives=(arr)=>
//字符串应以1到9之间的数字开头
arr.filter((s)=>/^[1-9]/.测试);
常数arr=[“1a”、“3d”、“4k”、“7e”、“100f”、“24c”、“1945y”]
const result=getPositives(arr);

控制台日志(结果)添加你的试用代码到目前为止你做了什么?如果它对你来说太高级了,用一把钝刀给猫剥皮。arr.filter(函数(i){return parseInt(i)>0;})