簡體   English   中英

lodash map返回對象數組

[英]lodash map returning array of objects

我有一個對象的arrray我希望將數據從醫學轉換為類型字符串。 唯一的問題是,不是返回對象數組,而是讓醫學數組回歸。

輸入示例:

data = [{medicine: 1234, info: "blabla"},{medicine: 9585, info: "blabla"},..]

期望的輸出:

data = [{medicine: "1234", info: "blabla"},{medicine: "9585", info: "blabla"},..]

我得到了什么? 一系列醫學數字。

這是我的代碼:

var dataMedicines = _.map(data, 'medicine').map(function(x) {
                return typeof x == 'number' ? String(x) : x;
            });

Lodash非常強大,但為了簡單起見,請查看此演示

 var data = [{ medicine: 1234, info: "blabla" }, { medicine: 9585, info: "blabla" }]; dataMedicines = _.map(data, function(x) { return _.assign(x, { medicine: x.medicine.toString() }); }); console.log(dataMedicines); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/1.2.1/lodash.min.js"></script> 

或者只是本機ES6解決方案:

const dataMedicines = data.map(({medicine, info}) => ({medicine: `${medicine}`, info}));

優點是這是一個功能更強大的解決方案,可以保留原始數據。

我猜你想把所有葯號“轉換”成字符串?

如果是這種情況,您不需要先映射。

var dataMedicines = _.map(data, function(x){
    var newObj = JSON.parse(JSON.stringify(x)); // Create a copy so you don't mutate the original.
    newObj.medicine = newObj.medicine.toString(); // Convert medicine to string.
    return newObj;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM