Append another value at end of specific key-value in an Object

Viewed 159

I have an Array of object, something like this:

const sample = [
{
    key:"key1",
    title: "title1", 
    value: "value1"
},
{
    key:"key2",
    title: "title2", 
    value: "value2"
},
{
    key:"key3",
    title: "title3", 
    value: "value3"
}

]

Now I want to append some value at the end of each object 'title' key like this:

const sample = [
{
    key:"key1",
    title: "title1 + 1", 
    value: "value1"
},
{
    key:"key2",
    title: "title2 + 2", 
    value: "value2"
},
{
    key:"key3",
    title: "title3 + 3", 
    value: "value3"
}

]

I know how to modify, add the key but not sure about how to append the data in such way. please suggest some solution for the mentioned problem.

3 Answers

You could map the object by taking the index for the value.

const
    sample = [{ key:"key1", title: "title1",  value: "value1" }, { key:"key2", title: "title2",  value: "value2" }, { key:"key3", title: "title3",  value: "value3" }],
    result = sample.map((o, i) => ({ ...o, title: o.title + (i + 1) }));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

const sample = [
{
    key:"key1",
    title: "title1", 
    value: "value1"
},
{
    key:"key2",
    title: "title2", 
    value: "value2"
},
{
    key:"key3",
    title: "title3", 
    value: "value3"
}]

let result = sample.map((x, i) => {
  x.title = x.title + ' + ' + (i + 1);
  return x;
});

console.log(result);

Hope this helps :) Transform in the map the value, as you want! :)

const sample = [
    {
        key:"key1",
        title: "title1 + 1",
        value: "value1"
    },
    {
        key:"key2",
        title: "title2 + 2",
        value: "value2"
    },
    {
        key:"key3",
        title: "title3 + 3",
        value: "value3"
    }
];
const other = sample.map(val => ({...val, title: val.title + 'anything'}));
console.log(other);

Related