如何在jquery中比较两个数组

问题描述 投票:1回答:1

我想比较两个数组,如果它们相等,则向html添加一个新属性。

首先是我的html

<ul class="checkout__delivery-collect-shoplist" data-bind="foreach: currentOptions ">
  <li class="checkout__delivery-collect-shop js-delivery-item active">
    <h6><em data-bind="text: label">Name1</em></h6>
  </li>
  <li class="checkout__delivery-collect-shop js-delivery-item">
    <h6><em data-bind="text: label">Name2</em></h6>
  </li>
</ul>

首先我要创建带有文本的新数组

var arr = [];
jQuery('em[data-bind="text: label"]').each(function() {
    arr.push(jQuery(this).text().split(';'));
});

另外,我还有另一个文本数组

var Managerss = Manager.GlobalData[2].options
Managerss.filter(x => x.payment_checkmo === '1').map(x => x.label);

它将给予

["Name1", "Name2"]
0: "Name1"
1: "Name2"
length: 2
__proto__: Array(0)

因此,我首先需要比较这些数组,如果为true,则创建新属性data-payment = '0'li.class checkout__delivery-collect-shop js-delivery-item

我想要的例子

<ul class="checkout__delivery-collect-shoplist" data-bind="foreach: currentOptions ">
  <li class="checkout__delivery-collect-shop js-delivery-item active" data-payment='0'>
    <h6><em data-bind="text: label">Name1</em></h6>
  </li>
  <li class="checkout__delivery-collect-shop js-delivery-item" data-payment='0'>
    <h6><em data-bind="text: label">Name2</em></h6>
  </li>
</ul>
javascript jquery html
1个回答
0
投票
这将比较2个数组中的每个元素,您可以编辑此代码以执行所需的操作。

function Compare() { var a = ['Name 1', 'Name 2', 'Name 3']; var b = ['Name 1', 'Name 2', 'Name 3']; // if length is not equal if(a.length!=b.length) return "False"; else { // comapring each element of array for(var i=0;i<a.length;i++) if(a[i]!=b[i]) return "False"; return "True"; } } var v = Compare(); document.write(v);
© www.soinside.com 2019 - 2024. All rights reserved.