Это часть кода из https://bl.ocks.org/mbostock/4183330Пытаясь понять .some() в JavaScript
Я пытаюсь понять, как names.some(function(d)...})
работы.
Не следует анонимная функция, переданная в
.some()
вернуться условное заявление, что «» может стран всего сопоставляться?Когда будет
names.some(..)
вернуть true или false?Почему не
d.name = n.name
создать "имя" в "странах" без "возврата"?
queue()
.defer(d3.json, "world-110m.json")
.defer(d3.tsv, "world-country-names.tsv")
.await(ready);
function ready(error, world, names) {
var countries = topojson.feature(world,world.objects.countries).features
countries = countries.filter(function(d) {
return names.some(function(n) {
if (d.id == n.id) return d.name = n.name;
});
})
Благодарим вас за разъяснения. Я немного смущен, так как код внутри .some() не имеет явного выражения «return true». Итак, возврат переменной (d.name) также означает true? По какой теме я должен изучить эту концепцию? – user3562812
Это просто волнует, если значение * правдиво *. Любая непустая строка является правдой. – Barmar
См. Http://stackoverflow.com/questions/35642809/understanding-javascript-truthy-and-falsy – Barmar