Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.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
使用javascript对数据集进行排序_Javascript_Ecmascript 6 - Fatal编程技术网

使用javascript对数据集进行排序

使用javascript对数据集进行排序,javascript,ecmascript-6,Javascript,Ecmascript 6,我试图使用一个按钮对PHP调用的动态数据集进行排序。现在,我只是想把一个按钮,在他们安排的最高项目 在catalog.view.php中 <div class="pricing-buttons"> <button type="button" class="highest btn btn-outline- primary">highest price</button> <button type="button" class="lowest

我试图使用一个按钮对PHP调用的动态数据集进行排序。现在,我只是想把一个按钮,在他们安排的最高项目

在catalog.view.php中

 <div class="pricing-buttons">
    <button type="button" class="highest btn btn-outline- 
 primary">highest price</button> <button type="button" class="lowest 
  btn btn-outline-info">lowest price</button>
  </div>
<section class="container-fluid">
    <div class="row">
       <?php if (isset($items)) { ?>
        <?php foreach ( $items as $item) : ?>
        <div class="col-12 col-sm-6 col-md-4">
            <div class="container-fluid">
                    <article class="cards">
                              <div class="col-12">


 <section class="card-holder" id="<?php echo $item['code']; ?>">


 <section class="card code">

 <ul>

  <h2 class="cat-order-code bottom-drop center" 
 data-code="<?php echo $item['code']; ?>">Code: <?php echo $item['code']; ?></h2>


<h3 class="cat-order-name center"><?php echo $item['name']; ?></h3>


 <img class="cat-order-image thumbnail box-image-width" 
 src="<?php echo IMAGES .  $item['image']; ?>" 
 alt="<?php echo $item['description']; ?>">


  <!-- part I am working on here the data-value ['price'] -->                                                    
 <li class="cat-order-price" data-value="<?php echo $item['price']; ?>">Price:
 <?php echo $price = ($item['price'] == 0 ? 'Make offer' :  '$' . $item['price']);
 ?></li>


 <h4 class="cat-order-sold sale" data-sold="<?php echo $item['sold']; ?>">
 <?php echo $sold = ($item['sold'] == 0 ? 'For Sale' : 'sold'); ?></h4>


 <a class="cat-order-btn btn btn-lg btn-outline-danger btn-width 
 center-block"  href='details.php?id=<?php echo $item['id']?>'>
 <?php echo $item['id']; ?></a>

  </ul>

  </section>

 </section>

 </div>

 </article>

 </div>

 </div>

 <?php endforeach; ?>

 <?php } ?>

 </div>

 </section>
我的问题是,为什么地图不起作用?我知道我还有很长的路要走,但我试图理解为什么我的map函数返回的值与Array.from函数的值相同


任何帮助都将不胜感激。

您应该将映射操作的结果分配给一个变量,如下所示

const result = price.map(price => price.dataset.value);
console.log(result);
如果要对值数组进行排序,现在可以使用方法对其进行排序

此外,使用与数组同名的元素变量可能会令人困惑。这将是一个更具可读性的选择

const result = price.map(p => p.dataset.value);

专业提示:如果您需要JS帮助,请跳过PHP。渲染的HTML更有用。渲染的HTML是什么意思?JS不作用于PHP,它作用于HTML。PHP产生的任何东西都将与任何JS问题相关。这正是我想要的。。。如果我不知道怎么正确地说,我很抱歉。但是你把它分解得很好。它给我的不是数组,而是数据集中的数字。
result.sort();
const result = price.map(p => p.dataset.value);