我有以下数组。
var gillFamily = [
{ name: 'john', age: 20 },
{ name: 'richard', age: 27 },
{ name: 'debbie', age: 55 },
{ name: 'dan', age: 25 },
{ name: 'robin', age: 60 }
];
我需要使用lodash打印添加了姓氏“Gill”的名字。
我尝试过的这是我最接近的:
_.map(gillFamily, "name") + " Gill";
但是只将Gill添加到数组中的姓氏。
如何将name
添加到数组中的所有项目?
答案 0 :(得分:0)
一个选项是:
_.map(gillFamily, (el) => el.name + " Gill");
如果环境不支持ES6:
_.map(gillFamily, function(el) {
return el.name + " Gill"
});
您也可以使用Array.prototype.map
功能。
答案 1 :(得分:0)
您需要访问Object内的name
属性,然后将Gill
字符串添加到该名称。
var gillFamily = [ {name: 'john', age: 20},
{name: 'richard', age: 27},
{name: 'debbie', age: 55},
{name: 'dan', age :25},
{name: 'robin', age : 60}];
var gillFamilyWithLastNameAdded = _.map(gillFamily, person => person.name + " Gill");
console.log(gillFamilyWithLastNameAdded);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.js"></script>
答案 2 :(得分:0)
使用map函数,您可以使用以下内容映射每个附加了姓氏的元素。使用_.each()
,您可以遍历对象数组并更新属性/属性期望。这可能不是最好/最有效的技术,但只有阅读文档才能找到它。
注意:这将覆盖原始对象。
免责声明:我不是活跃的lodash用户。
// Setup example data
var gillFamily = [{
name: 'john',
age: 20
}, {
name: 'richard',
age: 27
}, {
name: 'debbie',
age: 55
}, {
name: 'dan',
age: 25
}, {
name: 'robin',
age: 60
}];
// Display the initial values
document.getElementById("start").innerText = JSON.stringify(gillFamily);
// Append family name on the current family member's name
var gillFamilyWithLastNames = _.each(gillFamily, function(el) {
// Append 'Gill' to the end of the existing name
el.name += ' Gill';
});
// Show the results
document.getElementById("end").innerText = JSON.stringify(gillFamilyWithLastNames);
<script src="https://cdn.jsdelivr.net/lodash/4.17.4/lodash.min.js"></script>
<p>Starting Data</p>
<pre id="start"></pre>
<p>Ending Data</p>
<pre id="end"></pre>