Hướng dẫn for loop in template literal javascript - cho vòng lặp trong mẫu chữ javascript

Đó có phải là một cách để lặp bên trong các mẫu chữ không? Rõ ràng điều này có thể được thực hiện bằng cách ánh xạ một mảng như thế này:

array = ["a", "b", "c"]
console.log(`foo ${array.map(i => i).join(" ")} bar`)
///foo a b c bar

Nhưng điều gì sẽ xảy ra nếu chúng ta cần lặp lại khoảng thời gian cụ thể? như thế này:

`foo ${for (let i = 0; i <= 10; i++) {Somthing}} bar`

hỏi ngày 11 tháng 2 năm 2020 lúc 13:40Feb 11, 2020 at 13:40

Hướng dẫn for loop in template literal javascript - cho vòng lặp trong mẫu chữ javascript

2

Bạn chỉ có thể sử dụng một iife ở đó:

`foo ${(function fun() {
  // Do your loop here
  // Return the result as a string
})()} bar`

Tôi sẽ tư vấn chống lại nó và chỉ tạo chức năng bình thường, gọi nó, gán giá trị trả về cho một biến và sử dụng biến bên trong mẫu trình theo nghĩa đen của mẫu.

Đã trả lời ngày 11 tháng 2 năm 2020 lúc 13:44Feb 11, 2020 at 13:44

2

Bạn có thể sử dụng giảm thiểu để đạt được trong ES6

const anArray = [
  {
    "name": "pulha",
    "as": "puli"
  },
  {
    "name": "puli",
    "as": "moka"
  },
    {
    "name": "moka",
    "as": "starbucks"
  },
  {
    "name": "starbucks",
    "as": "sweet"
  },
    {
    "name": "sweet",
    "as": "krispey"
  },
  {
    "name": "krispey",
    "as": "free"
  }
];

$('#an-example-showing-template').append(`
  ${anArray.reduce((updated, latest) => updated.concat(`
  • ${latest.name} alias ${latest.as}
  • `), '')} `)
    #an-example-showing-template > li {
      list-style-type: none;
    }
    
    

      Đã trả lời ngày 8 tháng 7 năm 2021 lúc 1:33Jul 8, 2021 at 1:33

      Hướng dẫn for loop in template literal javascript - cho vòng lặp trong mẫu chữ javascript

      1

      Sẽ tốt hơn nếu thực hiện chức năng của bạn bên ngoài biểu thức Backtick như sau:

      function helloworld() {
      
      let string;
      
      for(let i = 0; i <10 ; i++){
      string = 'Hello World!'    
      } 
         return string
      }
      
      //Inside the backtick
      
      `${helloworld()}`
      

      Đã trả lời ngày 24 tháng 5 lúc 10:39May 24 at 10:39

      Hướng dẫn for loop in template literal javascript - cho vòng lặp trong mẫu chữ javascript

      Tệp này chứa văn bản unicode hai chiều có thể được giải thích hoặc biên dịch khác với những gì xuất hiện dưới đây. Để xem xét, hãy mở tệp trong một trình soạn thảo cho thấy các ký tự Unicode ẩn. Tìm hiểu thêm về các ký tự unicode hai chiều

      /*
      Ví dụ về chữ cái theo chữ
      Sử dụng `mảng (5) .Join (0) .Split (0)`, chúng tôi tạo một mảng trống
      Với 5 mục mà chúng ta có thể lặp lại thông qua việc sử dụng `.map ()`
      */
      varelement=document.createElement('div') element = document.createElement('div')
      element.innerHTML=`.innerHTML = `
      Yếu tố này đang lặp lại
      ${Array(5).join(0).split(0).map((item,i)=>`Array(5).join(0).split(0).map((item, i) => `
      Tôi là số mục $ {i}.${i}.
      `) .Join ('')}).join('')}
      `
      /*
      Kết quả:
      Yếu tố này đang lặp lại
      Tôi là số mục $ {i}.
      `) .Join ('')}
      `
      /*
      Kết quả:
      */