首页 > 解决方案 > 如何在数组内迭代循环以从打字稿中的另一个数组中获取值

问题描述

在 ts 文件中,我创建了以下数组:-

myimages: any=[
    {img_path:"assets/img/image1.jpg"},
    {img_path:"assets/img/image2.jpg"},
    {img_path:"assets/img/image3.jpg"},
    {img_path:"assets/img/image4.jpg"},
    {img_path:"assets/img/image5.jpg"},
    {img_path:"assets/img/image6.jpg"},
    {img_path:"assets/img/image7.jpg"},
    {img_path:"assets/img/image8.jpg"},
    {img_path:"assets/img/image9.jpg"},
    {img_path:"assets/img/image10.jpg"}
];


galleryImages = [

    for (let i = 0; i < myimages.length; i++) {    
        small: 'myimages[i]',
        medium: 'myimages[i]',
        big: 'myimages[i]'
    }

];

我希望将 myimages 数组中的图像路径转换为 ​​galleryImages 数组中的小值、中值和大值。我已经尝试了上面的代码,但是 for 循环抛出 ts1137 错误。请有人尽快帮助我。这可能是一个小问题,但我是 Angular 新手,所以我没有得到正确的解决方案。先感谢您。

标签: typescriptangular8

解决方案


作为一种好的做法,我们认为您应该避免使用any. 所以解决方案看起来像这样

interface Image {
   img_path: string;
};

const myimages: Image[] = [
  { img_path: "assets/img/image1.jpg" },
  { img_path: "assets/img/image2.jpg" },
  { img_path: "assets/img/image3.jpg" },
  { img_path: "assets/img/image4.jpg" },
  { img_path: "assets/img/image5.jpg" },
  { img_path: "assets/img/image6.jpg" },
  { img_path: "assets/img/image7.jpg" },
  { img_path: "assets/img/image8.jpg" },
  { img_path: "assets/img/image9.jpg" },
  { img_path: "assets/img/image10.jpg" }
];

const galleryImages = myimages.map(image => {
  return {
    small: image.img_path,
    medium: image.img_path,
    big: image.img_path
  };
});


推荐阅读