简体   繁体   English

如何动态更改 foreach 循环内每个元素的输入值?

[英]how to dynamically change the input values for each element inside foreach loop?

I want to change the value of coordinates for every map element, inside the foreach loop.我想更改 foreach 循环内每个 map 元素的坐标值。 For example, for first map element I want to assign coordinates[0] and so on.例如,对于第一个 map 元素,我想分配坐标 [0] 等等。

function initMap() {    
var coordinates = [
        {
            "lat": 123,
            "lng": 123
        },
        {
            "lat": 123,
            "lng": 123
        },
        {
            "lat": 123,
            "lng": 123
        }
  ]
var mapElements = document.querySelectorAll('.map');
mapElements.forEach((element) => {
        const uluru = { lat:coordinates[0].lat, lng:coordinates[0].lng};// how do I dynamically change values here
        console.log(uluru);
        const map = new google.maps.Map(element, {  
            zoom: 4,
            center: uluru,
        });
  const marker = new google.maps.Marker({
        position: uluru,
        map: map,
    });
});
}

Consider this example.考虑这个例子。

function initMap() {
  var coordinates = [{
      "lat": 123,
      "lng": 123
    },
    {
      "lat": 123,
      "lng": 123
    },
    {
      "lat": 123,
      "lng": 123
    }
  ]
  var mapElements = document.querySelectorAll('.map');
  mapElements.forEach((element, index) => {
    const uluru = {
      lat: coordinates[index].lat,
      lng: coordinates[index].lng
    };
    console.log(uluru);
    const map = new google.maps.Map(element, {
      zoom: 4,
      center: uluru,
    });
    const marker = new google.maps.Marker({
      position: uluru,
      map: map,
    });
  });
}

This makes use of the index .这利用了index See More: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach查看更多: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

You can also create an index variable yourself.您也可以自己创建索引变量。

function initMap() {
  var coordinates = [{
      "lat": 123,
      "lng": 123
    },
    {
      "lat": 123,
      "lng": 123
    },
    {
      "lat": 123,
      "lng": 123
    }
  ]
  var mapElements = document.querySelectorAll('.map');
  var i = 0;
  mapElements.forEach((element, index) => {
    const uluru = {
      lat: coordinates[i].lat,
      lng: coordinates[i].lng
    };
    i++;
    console.log(uluru);
    const map = new google.maps.Map(element, {
      zoom: 4,
      center: uluru,
    });
    const marker = new google.maps.Marker({
      position: uluru,
      map: map,
    });
  });
}

There are caveats to both of these since the forEach loop may have more elements than your array does.这两者都有一些警告,因为forEach循环可能比你的数组有更多的元素。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何在Jquery中的.each()中包括动态添加的输入值 - How to include dynamically added input values inside a .each() in Jquery React - 如何在状态更改时更改循环内的输入值 - React - How to change input values inside loop when state change 如何在 for 循环内动态更改颜色的 HEX 值? - How can i change the HEX values of color dynamically inside a for loop? 为什么“for循环”中的“for in”不能用每个object值更改表单元素中的每个输入值 - Why “for in” inside “for loop” can't change each input value in form element with each object value 如何动态更改输入数字的值并验证其中的数据? - How to dynamically change values for input number and validate the data inside it? 在函数循环内动态更改元素的非符号 - Change innertext of element dynamically inside for loop of a function 我怎样才能让我的jQuery函数可用于foreach循环中的每个元素? - How can I get my jQuery function for work for each element inside a foreach loop? Javascript / React - 如何使用 forEach 循环内的“select”输入值更新多维数组的值? - Javascript / React - How to update the values of a multidimensional array with the values of a `select` input inside of a forEach loop? 如何在敲除时在 foreach 循环中绑定输入值 - How to bind input values in a foreach loop on knockout 如何在foreach循环中获取jquery foreach中的值 - how to get values in jquery foreach inside the foreach loop
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM