小编Gon*_*bia的帖子

Javascript Regexp测试方法奇怪的行为

我一直在尝试使用正则表达式来评估字符串,但是我注意到了一种奇怪的行为,当我用正则表达式多次测试时.测试方法在true和false之间交替.检查此编码器 - > http://codepen.io/gpincheiraa/pen/BoXrEz?editors=001

var emailRegex = /^([a-zA-Z0-9_\.\-]){0,100}\@(([a-zA-Z0-9\-]){0,100}\.)+([a-zA-Z0-9]{2,4})+$/,
  phoneChileanRegex = /^\+56\S*\s*9\S*\s*\d{8}(?!\@\w+)/g,
   number = "+56982249953";

if(!number.match(phoneChileanRegex)  && !number.match(emailRegex) ) {
  console.log("it's not a phone number or email address");
}

//Weird Behaviour
console.log(phoneChileanRegex.test(number)); --> true
console.log(phoneChileanRegex.test(number)); --> false
Run Code Online (Sandbox Code Playgroud)

javascript regex

3
推荐指数
2
解决办法
317
查看次数

Javascript改进正则表达式以匹配3的数字块

我想,如果我可以举例来说,如果我有多少拿到3的数块22345678我想['22','345','678'].使用以下正则表达式

/(\d{1,3})(?=(\d{3})+(?!\d))/g
Run Code Online (Sandbox Code Playgroud)

我明白了 ['22','345']

任何人都可以帮助我提高我的正则表达式?

这里有一个例子 - > https://regex101.com/r/cF6rN4/1 和这篇文章中的一个片段

console.log('22345678'.match(/(\d{1,3})(?=(\d{3})+(?!\d))/g));
Run Code Online (Sandbox Code Playgroud)

javascript regex

3
推荐指数
1
解决办法
66
查看次数

地板功能浮动数字

我编写了一个ruby代码,用于对数字进行舍入,如下所示:

def round_down(number)
  number.to_s.split(/\./)[0].to_i
end
round_down(1.9)
Run Code Online (Sandbox Code Playgroud)

有人知道更实用的方法吗?

ruby decimal floor

2
推荐指数
1
解决办法
5665
查看次数

RxJS Observable:重试失败的 Promise

我一直在尝试创建一个解决 3 个承诺的功能,我这个承诺中的任何一个都失败了,我想重试。我的想法是:如果第二个承诺失败,无论如何都应该解决第一个和第三个承诺,可以通知订阅者。

那是我的代码:

const endpointsRequest = [
    axios.get("https://restcountries.eu/rest/v2/name/aruba?fullText=true"),
    axios.get("http://localhost:8080"),
    axios.get("https://restcountries.eu/rest/v2/name/argentina?fullText=true")
];

return Observable
    .forkJoin(endpointsRequest)
    .switchMap( promise => Observable.defer(() => promise) )
    .retry(3)
    .subscribe(
        (x) => {
            console.log("=======================================");
            console.log("Result", x.data.length? x.data[0] : x.data);
            console.log("=======================================");
        },
        (err) => {
            console.log("=======================================");
            console.log(`Error: ${err}`)
            console.log("=======================================");
        },
        () => {
            console.log("=======================================");
            console.log("Completed");
            console.log("=======================================");
        }
    );
Run Code Online (Sandbox Code Playgroud)

有可能实现这一目标吗?

使用此 promises 数组时的响应示例:

承诺数组

const endpointsRequest = [
        axios.get("https://restcountries.eu/rest/v2/name/aruba?fullText=true"),
        axios.get("https://restcountries.eu/rest/v2/name/argentina?fullText=true")
    ];
Run Code Online (Sandbox Code Playgroud)

回复

=======================================
Result { name: 'Aruba',
  topLevelDomain: [ '.aw' ],
  alpha2Code: 'AW',
  alpha3Code: 'ABW',
  callingCodes: [ '297' …
Run Code Online (Sandbox Code Playgroud)

javascript observable rxjs

2
推荐指数
1
解决办法
1370
查看次数

具有生成器功能的解构数组如何工作?

我找到了这个例子,我很惊讶发电机的最终值来自发电机的方式.这是代码:

function* foo() {
  yield 'a';
  yield 'b';
  yield 'c';
}

const [...values] = foo();
Run Code Online (Sandbox Code Playgroud)

根据我对生成器的理解,我认为对生成器执行进行解构等同于:

const array = [];
for(const val of foo()) {
    array.push(val)
}
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:这是获取生成器函数值的有效方法以及实现此目的的其他方法吗?

javascript destructuring ecmascript-6

0
推荐指数
1
解决办法
83
查看次数