在javascript跨浏览器中过滤数组
我有个小问题。我搜索了一下,但没有得到帮助来解决它。我有一个数组,例如在javascript跨浏览器中过滤数组,javascript,arrays,Javascript,Arrays,我有个小问题。我搜索了一下,但没有得到帮助来解决它。我有一个数组,例如var oldArr=['one','two','3']和我想从中创建一个新数组,但只能使用字符串值,为此,我目前正在使用array.filter方法,它正在工作,但有人说它在所有浏览器中都不受支持,所以我的问题是如何使用跨浏览器解决方案过滤我的数组 这是我当前的代码 var oldArr=['one','two','3']; newArr=oldArr.filter(function(a){ return !a.match(
var oldArr=['one','two','3']
和我想从中创建一个新数组,但只能使用字符串值,为此,我目前正在使用array.filter
方法,它正在工作,但有人说它在所有浏览器中都不受支持,所以我的问题是如何使用跨浏览器解决方案过滤我的数组
这是我当前的代码
var oldArr=['one','two','3'];
newArr=oldArr.filter(function(a){
return !a.match(/\d/);
});
alert(newArr);
提前感谢您的努力。也许您想要这个
if (!Array.prototype.filter) {
Array.prototype.filter = function(fun /*, thisp*/) {
var len = this.length >>> 0;
if (typeof fun != "function") {
throw new TypeError();
}
var res = [];
var thisp = arguments[1];
for (var i = 0; i < len; i++) {
if (i in this) {
var val = this[i];
if (fun.call(thisp, val, i, this)) {
res.push(val);
}
}
}
return res;
};
}
var oldArr = ['one','two','3'];
newArr=oldArr.filter(function(a){
return !a.match(/\d/);
});
console.log(newArr);
if(!Array.prototype.filter){
Array.prototype.filter=函数(fun/*,thisp*/){
var len=this.length>>>0;
如果(乐趣的类型!=“功能”){
抛出新的TypeError();
}
var-res=[];
var thisp=参数[1];
对于(变量i=0;i
参考文献:
这些看起来都像字符串。你的意思是只获取不作为数字解析的字符串?请看一下@AbuRasel-had-not=downvoteSorry我的错误,我只想获取数字。@Derek按照你的逻辑,几乎每个问题都需要DV:)
var oldArr = ['one', 'two', '3'];
var newArr = [];
for (var i = 0; i < oldArr.length; i++) {
if (isNaN(oldArr[i])) {
newArr.push(oldArr[i]);
}
}
if (!isNaN(oldArr[i])) {