Praca nad wyzwaniem programistycznym w celu ponownego wdrożenia funkcjonalności pliku underscore.js w standardowym języku javascript. W szczególności pracuję nad implementacją funkcji _.some
. (http://underscorejs.org/#some) Część, z którą walczę, polega na tym, że muszę znaleźć sposób na jej rozwiązanie wewnętrznie. (http://underscorejs.org/#every)Jak rozwiązać problem _.some za pomocą _.every?
Mam już wcześniej funkcję _.every
i działa tak, jak powinna.
Oto logicznie co ja chce zrobić w kodzie szkicowanego:
_.some = function(collection, truthStatementFunction) {
return !(_every(collection, !truthStatementFunction))
}
lub angielskim, flip oświadczenie prawdy przetestowania gdzie warunek jest fałszywy ... a jeśli test _.every
następnie zwraca true ... potem wiemy, że część oryginalnego stwierdzenia prawdy jest nieprawdziwa (więc prześlij powrót _.every
, aby uzyskać prawidłowy zwrot za _some
). Podobnie, jeśli _.every
zwraca wartość false, odwróć to, aby uzyskać poprawny zwrot wartości true dla _.some
.
Oczywiście problem z tym szkicem to część !truthStatementFunction
. Jak dostać się do tego Iteratora, aby zmienić wewnętrzne funkcje, aby je odwrócić? Nie wydaje się, że funkcje wewnętrzne są dostępne ...
Czy szczerzę złe drzewo w całości i czy istnieje lepszy sposób na rozwiązanie tego problemu za pomocą _.every
?
Masz dobry pomysł. Jednak musisz [skomponować] (https://en.wikipedia.org/wiki/Function_composition) operator '!' I funkcję; jest to coś w stylu 'function (x) {return! truthStatementFunction (x)}' zamiast tylko '! truthStatementFunction'. –
Aby odpowiedzieć na twoje pytanie ... Jest to ćwiczenie do nauki, więc chodzi o to, aby uczyć się w ten czy inny sposób (chociaż wiem, że samodzielne rozwiązywanie go w 100% byłoby najskuteczniejszym sposobem nauki, utknięcia zbyt długo i marnowania czasu że mógłbym spędzać uczenie się innych równie przydatnych rzeczy nie robi mi nic dobrego). Wolałbym uzyskać tutaj podpowiedź, a nie bezpośrednią odpowiedź, ale nie byłam pewna, czy to byłoby sprzeczne z pozornie surowymi regułami przepełnienia stosu. – jjj