我有一個數組字符串轉換成數字多維數組
MyArray = [
["Oswaldo","21749"],
["Mao","19580"],
["Angeline",'53692']
]
如何轉換的數字從字符串到實際的數字,並保存在同一陣列中或在新的一個。
我有一個數組字符串轉換成數字多維數組
MyArray = [
["Oswaldo","21749"],
["Mao","19580"],
["Angeline",'53692']
]
如何轉換的數字從字符串到實際的數字,並保存在同一陣列中或在新的一個。
遞歸迭代都會讓你遍歷嵌套數組,然後就coherce價值數
function parseNum(arr) {
arr.forEach(function(value, index) {
if (Array.isArray(value)) {
parseNum(value);
} else if (!isNaN(parseFloat(value))) {
arr[index] = (+value);
}
});
}
http://jsfiddle.net/Bladepianist/rpy2aedh/1/
MyArray = [
["Oswaldo","21749"],
["Mao","19580"],
["Angeline",'53692']
];
for (var item in MyArray) {
MyArray[item][1] = parseInt(item[1], 10);
}
parseInt函數(),如果你想他們int,而 「10」 是基地10 parseFloat(),如果你更喜歡他們這種格式:)。
您可以使用parseInt()
或parseFloat()
函數。
for (var i = 0; i < MyArray.length; ++i) {
MyArray[i][1] = parseInt(MyArray[i][1]);
// Or parseFloat if there is a float
}
我認爲Array map是更有效和更優雅:
var MyArray = [
["Oswaldo","21749"],
["Mao","19580"],
["Angeline",'53692']
];
MyArray = MyArray.map(function (obj) {
return [obj[0],parseInt(obj[1])];
});
document.write(JSON.stringify(MyArray));
筆記,js
嘗試不引用一個index
,例如其中數組項字符串的位置僅含有號碼可能是而不是可能是索引1
包含在
陣列內嘗試
var MyArray = [
["Oswaldo", "21749"],
["Mao", "19580"],
["Angeline", '53692']
];
MyArray = MyArray.map(function(items) {
return items.map(function(item) {
return /^\d+$/.test(item) && !/[a-z]/i.test(item) ? Number(item) : item
})
});
console.log(JSON.stringify(MyArray));
使用開源項目jinqJs
var MyArray = [
["Oswaldo","21749"],
["Mao","19580"],
["Angeline",'53692']
];
var result = jinqJs().from(MyArray).select(function(row){row[1] = Number(row[1]); return row;});
document.body.innerHTML += '<pre>' + JSON.stringify(result, null, 4) + '</pre><br><br>';
<script src="https://rawgit.com/fordth/jinqJs/master/jinqjs.js"></script>
更改前面的例子
var MyArray = [
[0, "Oswaldo","21749"],
[1, "Mao","19580"],
[2, "Angeline",'53692']
];
function buscar() {
var result = new jinqJs().from(MyArray).where(function(row){return (row[0] == '1')}).select(function(row){return row[1]});
console.log(result);
}
我們回答的同時,但你可以做到這一點只用一個地圖。看我的答案.. – DrKey 2015-04-04 15:59:41
@DrKey查看更新後的帖子。 'js'試圖在'MyArray'中的數組中的特定'index'處不參考,例如包含數字的數組項可能不屬於'MyArray'中數組的索引'1' – guest271314 2015-04-04 16:15:09
當然,我的函數只有在數組MyArray中包含2個具有原始索引的值。即使該數組在隨機索引中包含兩個以上的值,您的函數也能正常工作。 Upvoted! – DrKey 2015-04-04 16:31:07