Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
For循环返回字符串中的全部Javascript_Javascript_Jquery - Fatal编程技术网

For循环返回字符串中的全部Javascript

For循环返回字符串中的全部Javascript,javascript,jquery,Javascript,Jquery,我使用for循环返回数组中的所有值…目前它返回字符串中的所有值,但我希望它们作为单个值返回,以便我可以处理每个值…这是我目前的代码 function generateSelectors(product) { var i; if( product.attrs.available == false) { $('.variant-selectors, .buy-button').hide(); } else {

我使用for循环返回数组中的所有值…目前它返回字符串中的所有值,但我希望它们作为单个值返回,以便我可以处理每个值…这是我目前的代码

function generateSelectors(product) {

      var i;
      if( product.attrs.available == false) {
            $('.variant-selectors, .buy-button').hide();
          } else {
                for (i = 0; i < product.attrs.options.length; i++) { 
                   var options = '<p>' + product.attrs.options[i].values + '</p>';
                }
          }
      $('.html').html(options);
}
输出为336437538639740

我想要的是

<div class="html">
<p>3(36)</p>
<p>4(37)</p>
etc…
</div>

提前感谢,当然这是相对容易的

需要执行以下操作:-

function generateSelectors(product) {

    var i;
    var options =''; //define variable outside of loop
    if( product.attrs.available == false) {
        $('.variant-selectors, .buy-button').hide();
    } else {
        for (i = 0; i < product.attrs.options.length; i++) {
            $.each(product.attrs.options[i].values ,function(key,val){//iterate over array
                options += '<p>' + val + '</p><br/>'; //append each value to variable
            });
        }
    }
    $('.html').html(options); // add full-data as HTML to element
}
您可能想看看Array.prototype.map——这是一种功能性的方法,可以精确地完成您试图使用手动for循环所做的事情


这不会返回任何内容。当然,它也不会对字符串中的所有内容做任何处理,因为您在每次迭代中都会创建一个新字符串。您能提供输入吗?选项[i]。值是数组吗?若将数组转换为字符串,默认情况下,它将以逗号连接所有元素并返回string@PeterB是的,它可以。如果值是包含这些值的数组values@Rajeshvalues是一个数组values:array[5]…抱歉,这是一个相对较新的数组,与OP所说的完全相反,返回值仍然是336437538639740

我认为您不需要美元。也可以使用数组函数。您可以从我删除的答案中获取参考。@AlivetoDie是的,这很有效!谢谢你…我只是在段落标签插入时使用了。再次感谢@WebCreator 25很高兴为您提供帮助:
function generateSelectors(product) {
  if (product.attrs.available == false) {
    $('.variant-selectors, .buy-button').hide();
  else
    $('.html').html(
      product.attrs.options.map(o => '<p>' + o.values + '</p>').join('')
    )
}