簡體   English   中英

Lodash fp替換對象的屬性

[英]Lodash fp replace in an object's property

我嘗試運行此代碼,用loadsh替換對象屬性中的某些字符串。

var data = [
   { name: 'test1', value: 'foo - bar' },
   { name: 'test2', value: 'foo - bar' },
   { name: 'test3', value: 'foo - bar' }
]

var newData = fp.compose(
  fp.map('value'),
  fp.replace('/-/gm', '')
)(data)

console.log(newData)
//display : [ undefined,
     undefined,
     undefined,
     undefined,
     ....
   ]

但我想要 :

[
  { name: 'test1', value: 'foo  bar' },
  { name: 'test2', value: 'foo  bar' },
  { name: 'test3', value: 'foo  bar' }
]

謝謝您的幫助。

您正在提取value屬性值的數組,然后嘗試使用正則表達式替換該數組(而不是項目)。 您需要_.map()數組,並使用回調對每個元素執行替換:

 var data = [ { name: 'test1', value: 'foo - bar' }, { name: 'test2', value: 'foo - bar' }, { name: 'test3', value: 'foo - bar' } ] var newData = _.map(({ value, ...rest }) => ({ ...rest, value: _.replace(/\\s-\\s/gm, ' ', value) }))(data) console.log(newData); 
 <script src='https://cdn.jsdelivr.net/g/lodash@4(lodash.min.js+lodash.fp.min.js)'></script> 

暫無
暫無

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

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