Ich bin derzeit Student Javascript Lernen und der folgende Code kam in meiner Arbeit auf:Was ist die Bedeutung von! == -1?
var currentInventory = [
{
name: 'Brunello Cucinelli',
shoes: [
{name: 'tasselled black low-top lace-up', price: 1000},
{name: 'tasselled green low-top lace-up', price: 1100},
{name: 'plain beige suede moccasin', price: 950},
{name: 'plain olive suede moccasin', price: 1050}
]
},
{
name: 'Gucci',
shoes: [
{name: 'red leather laced sneakers', price: 800},
{name: 'black leather laced sneakers', price: 900}
]
}
];
function filterBlackShoes(shoeList) {
return shoeList.filter(function(shoe){
return shoe.name.indexOf('black') !== -1;
})
}
function renderBlackShoesForDesigner(designer, shoeList) {
shoeList = filterBlackShoes(shoeList);
return shoeList.map(function(shoe){
return [designer, shoe.name, shoe.price].join(', ')
})
}
function renderFilteredGoodsStringForDesigner(designerObject) {
return renderBlackShoesForDesigner(designerObject.name,
designerObject.shoes).join('\n');
}
function renderInventory(inventory) {
return inventory.map(function(designerObject) {
return renderFilteredGoodsStringForDesigner(designerObject);
}).join('\n');
}
So verstehe ich, was der Code tut, es filtert für die schwarzen Schuhe und gibt diese Informationen. Ich verstehe alle Aspekte, wie der Code funktioniert, außer was das! == -1 tut. Ich würde zu meinen Lehrern gehen, aber sie sind derzeit offline. Kann mir jemand die Bedeutung davon erklären?
Das ist eine Vergleichsaussage – ZeekHuge
Ich weiß das, aber was ist die Bedeutung des Vergleiches mit -1 –
Es wird getestet, dass der Wert nicht '-1' nach dem [* strikte Gleichheit Vergleich Algorithmus *] (http:// ecma-international.org/ecma-262/8.0/# sec-strict-Gleichheit-Vergleich) (d. h. es muss ein Zahlenwert von -1 sein). Die [* indexOf * -Methode] (http://ecma-international.org/ecma-262/8.0/#sec-string.prototype.indexof) gibt -1 zurück, wenn keine Übereinstimmung gefunden wird. – RobG