配列があります。var data = ["test"、 "10%"、 "abc"、 "20%"];今文字列の配列から数値を除外する方法
は、私はあなたが数字が、文字列値を必要はありません場合は、単に置き換えるresult=["10%","20%"];
配列があります。var data = ["test"、 "10%"、 "abc"、 "20%"];今文字列の配列から数値を除外する方法
は、私はあなたが数字が、文字列値を必要はありません場合は、単に置き換えるresult=["10%","20%"];
説明::私たちは、新しい配列を作成し、最初の文字 が数字に変換することができた場合に古い配列、
の すべての要素をプッシュするあなたはこのfunction
を使用することができます。
var data = ["test", "10%", "abc", "20%"];
function onlyNumbers(array) {
var newArr = [];
array.forEach(function(e) {
if (parseInt(e.charAt(0))) {
newArr.push(e);
}
})
return newArr;
}
var dataNew = onlyNumbers(data); // <-- ["10%","20%"]
document.write(JSON.stringify(dataNew));
解決してくれてありがとうございました。あなたは質問を正しく受け取り、必要なものを手に入れました。 – user1076698
これには、 "1xyz%"、 "2 /()abs"などの項目が含まれます...最初の文字が数。 – henrikmerlander
@henrikmerlanderそれは正しいです。これは、このタイプのシナリオの唯一の解決策です。質問や状況がより具体的なものであれば、コードを修正する必要があります。 – John
var data = ["test", "10%", "abc", "20%"];
var result = [];
data.forEach(function(v) {
if (parseInt(v) > 0) result.push(parseInt(v));
});
console.log(result);
のようなものをフィルタリングし、数字のみを得ることができるように、どのような方法があります: result.push(parseInt(v)); => result.push(v);
あなたはunderscore libraryを使用して行うことができます。
var data=["test","10%","abc","20%"];
var result = _.filter(data, function(item) {
return item.match(/^(\d+|\d+[.]\d+)%?$/);
});
document.write(JSON.stringify(result));
<script src="http://underscorejs.org/underscore-min.js"></script>
そして、あなたは外部ライブラリなしで同じ操作を行うことができます。
var data=["test","10%","abc","20%"],
result = [];
for(var i = 0; i < data.length; i++) {
if (data[i].match(/^(\d+|\d+[.]\d+)%?$/)) {
result.push(data[i]);
}
}
document.write(JSON.stringify(result));
ライブラリを使用する必要はありません。純粋なJSの 'RegExp'オブジェクトには' exec'メソッドがあります。 – teran
これはあなたの問題をうまくし、唯一の良い要素を持つ新しい配列を作成します:
function check_percentage(num){
var regex = /^(\d+%)$/;
if (num.match(regex)){
return true;
}
}
var result=["babab","fg210%","120%","babab","4214210%","20%"],
filtered_result=[];
result.forEach(function(k,v){
if (check_percentage(k)){
filtered_result.push(k);
}
});
console.log(filtered_result);
を私はそれらを疑う数字です。.. – Rayon
も多いですそのような結果を達成する方法は、最初にあなたのコードを示しています。 – teran
保存したい番号を正確に定義するものは何ですか?数字の後ろに '%'記号が続いていますか?あなたは[正規表現](https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions)を書いてみましたか?[Array#filter](https:// developer。 mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter)? – Ryan