小编Mic*_*ael的帖子

匹配数组中的对象并进行合并

更新:

我有一个被称为对象的数组,cars其中包含带有关于汽车的属性数据的li标签(例如价格,汽车类型等).我的目标是根据某些标准将这些汽车整合到一个单一的列表中.

要求

  1. 快速表现
  2. 保持相同的汽车阵列结构
  3. 主要目标:匹配预付费和零售清单 - 将零售清单中的HTML(例如按钮和定价信息)合并到预付清单中.看到:在此输入图像描述
  4. 如果匹配(基于IF语句中的标准),则删除匹配的列表,而不使用"listing-prepaid"类,并使用零售列表中的某些信息更新匹配的预付费列表.

汽车阵列:

<li xmlns="http://www.w3.org/1999/xhtml" id="listing-CCAR-RM-AD-SFBT003-AD-SFBT003" data-location-id="AD-28.7455--81.2411" data-dropoff-location-id="AD-28.7455--81.2411" data-partner-name="Advantage" data-partner-code="AD" data-type="CCAR" data-vehicle-class-description="Compact Car" data-seats="5" data-bags="2" data-counter-type="ON_AIRPORT" data-prepaid="Y" data-fare-type="PREPAID" data-transmission="Automatic" data-unlimited-miles="Y" data-preferred="N" data-price="34.81" data-original-price="35.70" data-base-price="24.25" data-vehicle-example="Nissan Versa" data-highlighted="N" data-deal="Y" class="listing listing-prepaid" data-original-position="18"><div class="row"><div class="column column-images"><div class="img-wrapper"><ul class="icons"><li class="people"><span>5</span></li><li class="bags"><span>2</span></li></ul></div></div><div class="column car-details"><div class="car-title"><h3><a><span class="car-class">Compact</span><b></b></a></h3><span class="car-example">Nissan Versa or similar<sup>†</sup></span><span class="counter-type airport">Car on Airport</span></div><div class="features"><span>Unlimited Miles</span></div><div class="car-location-container"><div class="car-location"><h6>Pick-up</h6>SFB: Orlando Sanford Intl Airport</div><div class="car-location"><h6>Drop-off</h6>Same as pick-up</div></div></div><div class="column column-price"><span class="car-badge prepaid">Pay Now &amp; Save 2%</span><div class="container …
Run Code Online (Sandbox Code Playgroud)

javascript arrays jquery object

18
推荐指数
2
解决办法
422
查看次数

AJAX和IE - 无法获得属性错误

我在IE Unable to get property ‘replace’ of undefined or null referencevar ajax_html = $(xml).find("#search-ajax-content").html();使用AJAX(在IE11中测试)时遇到以下错误.此代码在其他浏览器(Chrome,FF和Safari)上运行正常.

有没有人在使用AJAX之前遇到过这个问题?我不确定如何解决这个问题.任何帮助表示赞赏!谢谢!!

    $.ajax({
            type:"GET",
            dataType:"xml",
            url:"/search-ajax/" + window.location.search + "&pagination=" + page,
            success: function(data) {
                var xml = data;

                if (page == 1)
                {
                    $("#wait-element-container").remove();


                    // Issue is happening here only on IE!
                    var ajax_html = $(xml).find("#search-ajax-content").html();
                    $("#postload-target").append(ajax_html);
                }

            }
        });
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery

11
推荐指数
1
解决办法
921
查看次数

如何从具有特定ID的列表中删除元素

我有两个列表,我想删除所有li除了包含与输入元素的李标签标记-allid.这是我在jQuery中使用选择器可以实现的吗?可能不使用选择器?

这就是我目前拥有的: $("#search-filter-column ul li").remove();

<ul>
   <li>
       <input id="filter-types-all" name="filter-types-all" type="checkbox" checked="checked">
   </li>
   <li>
       <input id="filter-types-suv" name="filter-types-suv" type="checkbox" checked="checked">
   </li>
   <li>
       <input id="filter-types-special" name="filter-types-special" type="checkbox" checked="checked">
   </li>
</ul>


<ul>
   <li>
       <input id="filter-company-all" name="filter-company-all" type="checkbox" checked="checked">
   </li>
   <li>
       <input id="filter-company-1" name="filter-company-1" type="checkbox" checked="checked">
   </li>
   <li>
       <input id="filter-company-2" name="filter-company-2" type="checkbox" checked="checked">
   </li>
</ul>


<ul>
   <li>
       <input id="filter-location-1" name="filter-location-1" type="checkbox" checked="checked">
   </li>
   <li>
       <input id="filter-location-2" name="filter-location-2" type="checkbox" checked="checked">
   </li>
   <li>
       <input id="filter-location-3" name="filter-location-3" type="checkbox" checked="checked">
   </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

html javascript jquery

2
推荐指数
1
解决办法
52
查看次数

让 flex 子容器采用其内容的宽度,而不是父容器的宽度

我正在使用 flex 进行样式设置,并且对子元素的宽度有疑问。在我的 JS Fiddle 示例中,如果您查看“灵活取消”药丸徽章......右侧有很多空白区域。如何更新 Flex 样式,以使药丸徽章的宽度没有多余的空白?看起来这个子元素的宽度正在扩展到其父元素的整个宽度......

JS 小提琴:https://jsfiddle.net/a76bdLvp/1/

代码重点领域(来自 JS Fiddle):

.left-column {
   padding: 12px 12px 12px 16px;
   display: flex;
   align-items: flex-start;
   flex-direction: column;
   -webkit-box-flex: 1;
   flex: 1 1 0px;
}

.pill-badge {
   margin-bottom: 4px;
   display: flex;
   align-items: flex-start;
   flex-direction: column;
}
Run Code Online (Sandbox Code Playgroud)

当前结果

在此输入图像描述

期望的结果

在此输入图像描述

我回顾了这个例子,它看起来非常相似......但是应用这个解决方案(或 inline-flex 到子级)不起作用。我非常感谢你的帮助!

使弹性项目采用内容宽度,而不是父容器的宽度

html css styles flexbox

2
推荐指数
1
解决办法
8035
查看次数

JavaScript 过滤方法 - 仅返回第一个对象

在JavaScript中使用filter()方法,是否可以只返回第一个通过测试的实例?一旦我在汽车数组中找到第一个对象,我想将该对象从其当前位置移动到汽车数组的开头。

代码:

     cars.filter(function(car) {

        var fareType = car.data("fareType");
        var partnerCode = car.data("partnerCode");

        if (fareType == "DEAL" && partnerCode == "AV")
        {
            // get first instance only and move element to beginning of array
        }

        if (fareType == "DEAL" && partnerCode == "BU")
        {
            // also get first instance where partnerCode == BU only and move element to beginning of array 
           // If dataPrice is less than dataPrice for partner AV, move to first position, else move to second position
        } …
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting methods refactoring

1
推荐指数
1
解决办法
6074
查看次数

如何过滤数组并使用特定对象键创建新数组

我有一个包含对象的数组,并且在每个对象中都有一个“项目”数组。我的目标是将这些“项目”组合成一个数组。

目标/预期产出

[
   { id: 'SUV' },
   { id: 'Compact' },
   { id: 'Gasoline' },
   { id: 'Hybrid' }
]
Run Code Online (Sandbox Code Playgroud)

样本数组

[
{
  "id":"carType",
  "items":[
     {
        "id":"SUV"
     },
     {
        "id":"Compact"
     }
  ]
},
{
  "id":"fuelType",
  "items":[
     {
        "id":"Gasoline"
     },
     {
        "id":"Hybrid"
     }
  ]
  }
]
Run Code Online (Sandbox Code Playgroud)

javascript arrays ecmascript-6 reactjs

1
推荐指数
1
解决办法
67
查看次数

用新对象替换对象数组

我有一个对象数组,我想用具有特定 id 的新对象替换一个对象。我的目标是用全新的对象替换/删除 id === 'hotel' 的对象并保持相同的索引。

示例/当前代码

const sampleArray = [{ id: 'price' }, { id: 'hotel1', filters: [] }, { id: 'type' }]

const index = sampleArray.findIndex((obj) => obj.id === 'hotel1') // find index
sampleArray = sampleArray.splice(index, 0) // remove object at this index
sampleArray.splice(index, 0, { id: 'hotel2' }) // attempt to replace with new object ... not working :(
Run Code Online (Sandbox Code Playgroud)

javascript arrays object splice ecmascript-6

1
推荐指数
1
解决办法
2112
查看次数