Javascript 将对象转换为字符串或typeof(数字[])给定的类型
我喜欢转换字符串给定的类型,因为我想将数字字符串转换为数字数组Javascript 将对象转换为字符串或typeof(数字[])给定的类型,javascript,Javascript,我喜欢转换字符串给定的类型,因为我想将数字字符串转换为数字数组 var myStringType = "number[]"; var myString = "0, 0, 0"; var myStringArray = myString.Split(","); <- these array need to be a array; var myNumbersArray = ConvertToAnyByString(myStringArray, myStringType); var mySt
var myStringType = "number[]";
var myString = "0, 0, 0";
var myStringArray = myString.Split(","); <- these array need to be a array;
var myNumbersArray = ConvertToAnyByString(myStringArray, myStringType);
var myStringType=“number[]”;
var myString=“0,0,0”;
var myStringArray=myString.Split(“,”) 嗯。试试这个-
var str = '0,0,0';
var arr = str.split(','); // ['0', '0', '0']
var int_arr = arr.map(function(el) {return parseInt(el, 10);}); // [0, 0, 0]
希望有帮助 根据您的评论,您可以执行以下操作(无需.map
或.map
的垫片):
此处编号(arr[L])
是“有效载荷”,但您也可以使用(取决于您的需要):
parseInt(arr[L])代码>或parseFloat(arr[L])代码>或arr[L]*1
甚至是简单的+arr[L]代码>
作为有效载荷。这正是让你的船漂浮的东西
使用:警报(arr[1]类型)进行测试;//编号
但是,为了真正回答您最初提出的问题(将数组中的值转换为字符串指定的不同类型),我提供了一个简单的示例来说明如何做到这一点:
var convertArrToAnyByString = function(arr,converTo,rad){
var L = arr.length;
rad = rad||10; // optional, defaults to 10 as radix
switch(converTo){
case 'number':
while(L--){arr[L] = Number(arr[L]);}
break;
case 'string':
while(L--){arr[L] = arr[L].toString(rad);}
break;
default:
arr=false;
}
return arr;
};
var str = '0,1,8';
var arr = str.split(',');
// testing:
alert(typeof arr[1]); //arr[1] should be string by default
arr=convertArrToAnyByString(arr,'number');
alert(typeof arr[1]); // number
arr=convertArrToAnyByString(arr,'string');
alert(typeof arr[1]); // string again
alert(arr[2]); // still 8
通过添加类型甚至错误检查,您可以轻松地扩展此示例
祝你好运 不确定你想问什么,但如果你做了'0,0,0'。拆分(',)
,这实际上会给你一个数组[“0”,“0”,“0”]
@Rishabh我有一个字符串,它必须是一个数字数组而不是字符串数组。你需要澄清两件事:*你希望数组中总是有数字吗,或者您是否需要过滤掉错误(空插槽、文本)?*整数还是浮点?确定OP只需要整数,而不是浮点吗?请注意,阵列上的原型映射是新的ES5,因此根本不兼容浏览器。此外,所需的垫片相当大。@GitaarLAB我们不能都停留在过去:)此外,垫片可以做得相当小。@Jack:谢谢你的善意推动。我上个月刚从小写字母l转换成大写字母l,但错过了最后一个字母l。更新答案。是的,测试过了。
var convertArrToAnyByString = function(arr,converTo,rad){
var L = arr.length;
rad = rad||10; // optional, defaults to 10 as radix
switch(converTo){
case 'number':
while(L--){arr[L] = Number(arr[L]);}
break;
case 'string':
while(L--){arr[L] = arr[L].toString(rad);}
break;
default:
arr=false;
}
return arr;
};
var str = '0,1,8';
var arr = str.split(',');
// testing:
alert(typeof arr[1]); //arr[1] should be string by default
arr=convertArrToAnyByString(arr,'number');
alert(typeof arr[1]); // number
arr=convertArrToAnyByString(arr,'string');
alert(typeof arr[1]); // string again
alert(arr[2]); // still 8