複数の番号をカンマで区切っています。私はカンマで区切り、数字の前と後ろにテキストを追加する必要があります。JsまたはJqueryの番号の前と後に番号を付けてテキストを追加する方法
Input:- x = "2254,1234";
Output:- x = abc2254def or abc1234def
上記の出力が必要です。あなただけのループを通過し、すべての要素にテキストの前後に追加し、その後split()
機能を使って、あなたの入力を分割する必要が私に
複数の番号をカンマで区切っています。私はカンマで区切り、数字の前と後ろにテキストを追加する必要があります。JsまたはJqueryの番号の前と後に番号を付けてテキストを追加する方法
Input:- x = "2254,1234";
Output:- x = abc2254def or abc1234def
上記の出力が必要です。あなただけのループを通過し、すべての要素にテキストの前後に追加し、その後split()
機能を使って、あなたの入力を分割する必要が私に
。次に、+
を使用して文字列を連結し、trim
を入力して、入力に予期しないスペースがないことを確認します。最後にjoin
という文字列を返します。
機能にサニティチェックを追加することを忘れないでください。typeof
で指定されたnumberStringをチェックし、文字列でない場合は短絡します。
console.log(convertNumbers('abc', 'def', ' or ', "1,2,3,4,5, 6,7 ,8"));
あなたは、あなたのHTMLに基づいて、あなたのinput.value
と4番目のパラメータを置き換えることができます。
/*
* Helper function for logging an array of numbers, prefixed and suffixed with supplied string
* @param {String} prefix The string to append to the beginning of the output
* @param {String} suffix The string to append to the end of the output
* @param {String} divider The string that separates each output value
* @param {String} numberString The string of numbers, separated with commas to iterate through
* @returns {String} The concatenated string
*/
var convertNumbers = function(prefix, suffix, divider, numberString){
// short circuit if numberString is NOT a string
if(typeof numberString !== 'string') return;
return numberString.split(',').map(function(number){
return '' + prefix + number.trim() + suffix;
}).join(divider);
}
この関数は、文字列を返すので、のようなものを使用して呼び出されます。あなたは、単にsplit
正規表現とjoin
var convertNumbers = function(prefix, suffix, divider, numberString){
// short circuit if numberString is NOT a string
if(typeof numberString !== 'string') return;
return '' + prefix + (numberString.split(/[\s,]+/).join(suffix + divider + prefix)) + suffix;
}
var y = "2254,1234";
var x = y.split(',');
for(var i=0;i<x.length;i++){
var pre = 'abc';
var post = 'def';
var result = pre+x[i]+post;
console.log(result);
}
配列ではありません。数字だけ。何らかの機能の後に動的に挿入される – Crock
を助けてください。あなたは、分割文字列で見つかった項目のそれぞれに機能を実行するためにmap
そして、あなたの入力を分離するためにsplit
を使用することができます
x = "2254,1234";
var y = x.split(",");
$.each(y,function(i,e){
if(y.length == 1)
{
var str = "abc"+e+"xyz";
alert(str)
}else{
var str = "abc"+e+"efg";
alert(str)
}
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
たぶん役立つを使用でき、
NOTE
は、上記ものの、より読みやすいソリューションです(これは明らかにゴルフではない)、これを試してみてください。
//$InputValue = "2254,1234,3345";
$InputValue = "2254,3345";
$Res = WrapString($InputValue);
console.log($Res);
function WrapString($inputString){ $result = [];
$inputString = $inputString.split(",");
for($i=0;$i<$inputString.length;$i++){
$result.push(GenrateRandString(3)+$inputString[$i]+GenrateRandString(3));
}
return $result;
}
function GenrateRandString($length) {
$text = "";
$possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
for(var i = 0; i < $length; i++) {
$text += $possible.charAt(Math.floor(Math.random() * $possible.length));
}
return $text;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
あなたの入力は数字の配列ですか? –
'.map()'を使用して各数字の周りに文字を追加し、 '.join()'を使用してそれらの間に 'または'を結合します。 – Barmar