将数组转换为不同类型 (lodash/js)
converting array to different types (lodash/js)
将数组中每个元素的类型逐一转换的最直接方法是什么?
例如,如果我有:
var a = ["2013", "72", "68", "76", "75", "76", "73"]
如何将 a
转换为以下内容,将第一项保留为字符串并将其余项转换为整数:
["2013", 72, 68, 76, 75, 76, 73]
在 lodash 中,我可以_.map(_.values(record), _.toNumber)
将整个数组转换为数字,但我如何映射到数组中的每个项目?
可能是这样的:
var a = ["2013", "72", "68", "76", "75", "76", "73"]
var newArray = [];
a.map(function(d, i) {
if (i == 0) {
newArray.push(d)
} else {
newArray.push(parseInt(d, 10))
}
return newArray
})
console.log(newArray)
使用 lodash 方法 map, toNumber 并检查不是数组中的第一个:
var a = ["2013", "72", "68", "76", "75", "76", "73"];
var result = _.map(a, function(v) {
return a[0] !== v ? _.toNumber(v) : v;
});
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.12.0/lodash.min.js"></script>
将 Array#map
与循环索引一起使用。
var a = ["2013", "72", "68", "76", "75", "76", "73"];
a = a.map(function (b, i) {
return i ? Number(b) : b;
});
console.log(a);
var a = ["2013", "72", "68", "76", "75", "76", "73"]
var b = a.map(function(item) {
if (item.length === 4) {
return item;
} else {
return parseInt(item, 10);
}
});
console.log(b)
将数组中每个元素的类型逐一转换的最直接方法是什么?
例如,如果我有:
var a = ["2013", "72", "68", "76", "75", "76", "73"]
如何将 a
转换为以下内容,将第一项保留为字符串并将其余项转换为整数:
["2013", 72, 68, 76, 75, 76, 73]
在 lodash 中,我可以_.map(_.values(record), _.toNumber)
将整个数组转换为数字,但我如何映射到数组中的每个项目?
可能是这样的:
var a = ["2013", "72", "68", "76", "75", "76", "73"]
var newArray = [];
a.map(function(d, i) {
if (i == 0) {
newArray.push(d)
} else {
newArray.push(parseInt(d, 10))
}
return newArray
})
console.log(newArray)
使用 lodash 方法 map, toNumber 并检查不是数组中的第一个:
var a = ["2013", "72", "68", "76", "75", "76", "73"];
var result = _.map(a, function(v) {
return a[0] !== v ? _.toNumber(v) : v;
});
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.12.0/lodash.min.js"></script>
将 Array#map
与循环索引一起使用。
var a = ["2013", "72", "68", "76", "75", "76", "73"];
a = a.map(function (b, i) {
return i ? Number(b) : b;
});
console.log(a);
var a = ["2013", "72", "68", "76", "75", "76", "73"]
var b = a.map(function(item) {
if (item.length === 4) {
return item;
} else {
return parseInt(item, 10);
}
});
console.log(b)