var array = [{
name: '#container',
value: 1000
}, {
name: '.element',
value: 100
}, {
name: '[type=text]',
value: 100
}, {
name: ':hover',
value: 100
}, {
name: 'body',
value: 10
}, {
name: '::first-child',
value: 10
}]
function compare(a, b) {
let priority_a = 0;
let priority_b = 0;
let newArr = [];
for (let i = 0; i < array.length; i++) {
var n = (a.split(array[i].name)).length - 1;
if(n > 0){
newArr.push('')
}
}
let aindex = arr.indexOf("a");
return priority_a - priority_b;
}
compare('#container > .element', 'body > .element') === 990;
compare('body', '.element') === -90;
compare('.element + .element::last-child', '.element:hover') === 10;
compare('input[type=text]', 'li:hover') === 0;
const xml = `
<list>
<item>content1</item>
<item>content2</item>
<item>content3</item>
<item>
<name>hema</name>
<value>frontend</value>
</item>
</list>
`
const json = {
tag: 'list',
children: [
{
tag: 'item',
children: 'content1'
},
{
tag: 'item',
children: 'content2'
},
{
tag: 'item',
children: 'content3'
},
{
tag: 'item',
children: [
{
tag: 'name',
children: 'hema'
},
{
tag: 'value',
children: 'frontend'
}
]
}
]
}
function xml2json(xml) {
let result;
if (xml.nodeType == 1) {
if (xml.attributes.length > 0) {
result["tag"] = {};
for (var j = 0; j < xml.attributes.length; j++) {
var attribute = xml.attributes.item(j);
result["tag"][attribute.nodeName] = attribute.nodeValue;
}
}
}
if (xml.hasChildNodes()) {
for (var i = 0; i < xml.childNodes.length; i++) {
var item = xml.childNodes.item(i);
var nodeName = item.nodeName;
obj[children] = [];
obj[children].push(obj[nodeName]);
}
}
this.xml2json()
return result
}
console.log(JSON.stringify(xml2json(xml)) === JSON.stringify(json))