我想按值过滤以下数组。 包含"-USD"的值需要替换为"-USD"。 之后,我只想输出替换的值!而不是马或老鼠。我该怎么做?
因此,过滤后的数组可能如下所示:
arr = [
{animal: 'cat', price: 150},
{animal: 'dog', price: 350},
]
到目前为止,我做了这个:
arr = [
{animal: 'cat-usd', price: 150},
{animal: 'dog-usd', price: 350},
{animal: 'horse', price: 5000},
{animal: 'mouse', price: 50}
]
var filter = arr.map((i, k) => {
var ret = i.animal.replace(/-USD/gi, '')
return ret;
})
console.log(filter)
捷轩
您可以先过滤其中有-usd
的内容,然后使用映射函数
var filter = arr.filter(i => i.animal.indexOf('-usd') >= 0).map((i, k) => {
var ret = i.animal.replace(/-USD/gi, '')
return ret;
})
检查filter
方法中的i.animal.indexOf('-usd') !== -1
。
arr = [
{animal: 'cat-usd', price: 150},
{animal: 'dog-usd', price: 350},
{animal: 'horse', price: 5000},
{animal: 'mouse', price: 50}
];
var filter = arr.filter((i, k) => {
if(i.animal.indexOf('-usd') !== -1){
i.animal = i.animal.replace(/-USD/gi, '');
return i;
}
})
console.log(filter)