Int(stringValue)
. Правда, вам это не сильно поможет - есть ещё косяки. Можете попытаться исправить их самостоятельно.func worthSum(count: String, worth: [Int]) -> Int {
return count.split(separator: " ").enumerated().reduce(0, { acc, n in
acc + (Int(n.1) ?? 0) * worth[n.0]
})
}
func evaluate(good: String, vsEvil evil: String) -> String {
let g = worthSum(count: good, worth: [ 1, 2, 3, 3, 4, 10 ])
let e = worthSum(count: evil, worth: [ 1, 2, 2, 2, 3, 5, 10 ])
return g == e
? "Battle Result: No victor on this battle field"
: g > e
? "Battle Result: Good triumphs over Evil"
: "Battle Result: Evil eradicates all trace of Good"
}
@input="$emit('input', $event.target.value)"
, или сделайте вычисляемое свойство:innerValue: {
get() {
return this.value;
},
set(val) {
this.$emit('input', val);
},
},
<select v-model="innerValue">
const getMaxIndexes = (arr, count) => Object
.entries(arr.reduce((acc, n, i) => ((acc[n] = acc[n] ?? []).push(i), acc), {}))
.sort((a, b) => b[0] - a[0])
.flatMap(n => n[1])
.slice(0, count);
$slider.find('.ul-slider-handle').html(`<img src="${imageSrc}">`);
slide(e, ui) {
$(this).find('.ui-slider-handle img').css('opacity', в зависимости от ui.value);
},
<div data-color="black"></div>
<div data-color="white"></div>
document.addEventListener('click', ({ target: { dataset: { color } } }) => {
if (color) {
document.querySelector('button').dataset.id = color;
}
});
// или
const button = document.querySelector('button');
const onClick = e => button.setAttribute('data-id', e.target.getAttribute('data-color'));
document.querySelectorAll('[data-color]').forEach(n => n.addEventListener('click', onClick));
.container {
background: #224B7A;
}
.container.active {
background: #fff;
}
state = {
active: false,
}
toggleActive = ({ type }) => {
this.setState(() => ({
active: type === 'focus',
}));
}
<div className={`container ${this.state.active ? 'active' : ''}`}>
...
<input onFocus={this.toggleActive} onBlur={this.toggleActive} />
.hover
на .square:hover
- всё, больше ничего не надо. Если есть возможность что-то сделать только через css - делайте это что-то только через css.мне нужно было использовать именно через script, потому,что я потом буду манипулировать этим методом chhoseShipOnBoard, например ещё добавлять классы к соседним блокам, чтобы при наведении выделялся не только текущий блок, но и несколько рядом находящихся блоков
data: () => ({
hovered: null,
...
}),
methods: {
getClasses(index) {
return что-то, в зависимости от index и this.hovered;
},
},
<span
v-for="(n, i) in squares"
@mouseover="hovered = i"
@mouseout="hovered = null"
:class="getClasses(i)"
>
Я так понимаю надо какой-то фильтр применить для отображения?
filters: {
numberOnly: val => /^\d+$/.test(val) ? val : '',
},
<div v-for="n in squares">
{{ n | numberOnly }}
</div>
<div v-for="n in squares">
{{ Number.isNaN(+n) ? '' : n }}
</div>
<div v-for="(n, i) in squares">
{{ i % 11 ? '' : n }}
</div>
data: () => ({
itemsToShow: [...Array(10)].map((n, i) => `${i + 1}`),
...
}),
<div v-for="n in squares">
{{ itemsToShow.includes(n) ? n : '' }}
</div>
$('.btn-show').on('click', function() { $(this).toggleClass('.flip'); });
'flip'
, без точки..btn-show
- вот там и дёргайте toggleClass. <VictoryChart>
<VictoryAxis
style={{
axis: {
stroke: 'здесь ваш цвет',
},
}}
/>
</VictoryChart>
const arr = Array.from({ length: max - min + 1 }, (n, i) => i + min);
function* range(start, stop, step) {
if (stop === undefined) {
stop = start;
start = 0;
}
if (start === stop) {
step = 1;
}
if (step === undefined) {
step = Math.sign(stop - start);
}
if (start <= stop && step > 0 || start >= stop && step < 0) {
for (let i = start; step < 0 ? i >= stop : i <= stop; i += step) {
yield i;
}
}
}
console.log(Array.from(range(3, 9))); // [3, 4, 5, 6, 7, 8, 9]
console.log([...range(-5)]); // [0, -1, -2, -3, -4, -5]
for (const n of range(100, 200, 33)) {
console.log(n); // 100 133 166 199
}
const r = range(12, -7, -5);
for (let n; !(n = r.next()).done;) {
console.log(n.value); // 12 7 2 -3
}
mass
передавайте mass.copy()
.