我正在练习/学习JavaScript和Python。我想知道Javascript是否等同于这种类型的编码。
出于练习的目的,我基本上是尝试从字符串中的每个单独的整数中获取一个数组。我对Python比JavaScript更精通
Python:
string = '1234-5'
forbidden = '-'
print([int(i) for i in str(string) if i not in forbidden])
Javascript有没有类似的东西可供我在上面做?
发布于 2015-07-11 11:58:42
阅读代码时,我假设禁止可以有1个以上的字符。我还假设输出应该是"12345“
var string = "12=34-5";
var forbidden = "=-";
console.log(string.split("").filter(function(str){
return forbidden.indexOf(str) < 0;
}).join(""))
如果输出为“%1”“%2”“%3”“%4”“%5
var string = "12=34-5";
var forbidden = "=-";
string.split("").forEach(function(str){
if (forbidden.indexOf(str) < 0) {
console.log(str);
}
});
发布于 2015-07-11 11:54:02
不是直接的,但是复制起来并不难。
var string = "1234-5";
var forbidden = "-";
string.split("").filter(function(str){
if(forbidden.indexOf(str) < 0) {
return str;
}
}).forEach(function(letter) { console.log(letter);});
我猜更直接的是:
for(var i=0 ; i < str.length ; i++) {
if(forbidden.indexOf(str) < 0) {
console.log(str[i]);
}
}
但是没有内置的方法来过滤你的for循环。
发布于 2017-05-15 05:19:01
您可以使用应用程序函数器轻松实现此行为。
Array.prototype.ap = function(xs) {
return this.reduce((acc, f) => acc.concat(xs.map(f)), [])
}
const result = [x => x +1].ap([2])
console.log(result)
https://stackoverflow.com/questions/31353213
复制相似问题