Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

110
Views
Concat object value with string

I have an api response in react native as

url_string = "https://example.com/"
//JSON Response

product_images: [
    {
        "url": "79/79B20211213054555pm1.jpeg"
    },
    {
        "url": "18/18c20211213054555pm2.jpeg"
    }
]

Now the thing is i want to append the url_string for each of the value as below with

//Expected Outcome - 

"new_product_images": [
    {
        "url": "https://example.com/79/79B20211213054555pm1.jpeg"
    },
    {
        "url": "https://example.com/18/18c20211213054555pm2.jpeg"
    }
]

My attempt

let product_images = [{
  "url": "79/79B20211213054555pm1.jpeg"
}, {
  "url": "99/79B20211213054555pm1.jpeg"
}];


Object.keys(product_images).forEach(function(key, i) {
  product_images[key] += "example/in";
});
console.log(product_images);

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Copy and modify

If you do NOT copy, you may change the original array's URL object

let product_images = [{
  "url": "79/79B20211213054555pm1.jpeg"
}, {
  "url": "99/79B20211213054555pm1.jpeg"
}];


const prefix = 'https://example.com';
const newImages = JSON.parse(JSON.stringify(product_images)); // deep copy
newImages.forEach(item => item.url = prefix + item.url); // modify
console.log(newImages)
console.log(product_images); // not modified

Shorter if in place modification

let product_images = [{
  "url": "79/79B20211213054555pm1.jpeg"
}, {
  "url": "99/79B20211213054555pm1.jpeg"
}];


const prefix = 'https://example.com';
product_images.forEach(item => item.url = prefix + item.url); // modify
console.log(product_images); // now modified

WATCH OUT, IT'S A TRAP

This does not work as expected

let product_images = [{
  "url": "79/79B20211213054555pm1.jpeg"
}, {
  "url": "99/79B20211213054555pm1.jpeg"
}];
const baseUrl = "https://example.com/",
  newImages = product_images
    .map(image => (image.url = baseUrl + image.url, image));

console.log(newImages)
console.log(product_images); // oops - modified too

about 4 years ago · Juan Pablo Isaza Report

0

You can do it with a general function:

const product_images = [
  {
    url: '79/79B20211213054555pm1.jpeg',
  },
  {
    url: '18/18c20211213054555pm2.jpeg',
  },
];

const concatString = (arr, key, concat) => {
  const newArr = arr.map((item) => {
    item[key] = concat + item[key];
    return item;
  });

  return newArr;
};

console.log(concatString(product_images, 'url', 'https://example.com/'));

console.log(product_images)

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!