假设您在数组中有(任何数量)值,并且您想查看它们中的任何一个是否超过(较低数量)和较低数量,您会怎么做?
无需执行 for 循环或任何冗长的代码即可回答。
也许是这样的:
var havingParty = false;
if ((theArrayWithValuesIn > 10) && (theArrayWithValuesIn < 100)) {
havingParty = true;
} else {
havingParty = false;
}
Run Code Online (Sandbox Code Playgroud)
会工作。
请注意:x和y,碰撞检测,紧凑代码。
我希望使用ES6的Set从某些字符串中获取唯一字符.所以我们假设我们有字符串var str = 'abcdeaabc';并从这个字符串创建一组字符:
var str = 'abcdeaadbc';
var chars = new Set(str);
Run Code Online (Sandbox Code Playgroud)
现在我们有了一组独特的角色:abcd.我很惊讶charset有forEach方法而且没有map方法.
Set是可迭代对象,为什么我们不能使用map函数迭代set?
我试图以这种方式传递charsset和chars.values()SetIterator Array.prototype.map:
Array.prototype.map.call(chars, function(element) {...});
Array.prototype.map.call(chars.values(), function(element) {...});
Run Code Online (Sandbox Code Playgroud)
但每次尝试都失败了.
例如,假设我们想从string中获取唯一符号并返回前面下划线的数组.例如.:['_a', '_b', '_c', '_d']
这是我的两个解决方案:
// First:
var result = Array.from(chars).map(function(c) {
return '_' + c;
});
// Second:
var result = [];
chars.forEach(function(c) {
this.push('_' + c);
}, result);
Run Code Online (Sandbox Code Playgroud)
但是有没有办法map用Set上下文调用Array.prototype的函数?如果没有 - 为什么?
function User() {
this.firstname = null;
get getFirst() {
return this.firstname;
}
}
Run Code Online (Sandbox Code Playgroud)
JavaScript控制台在第12行给出了一个错误"错误标识符"
var Jake = new User();
Jake.firstname = "Jake";
document.write(Jake.getFirst);
Run Code Online (Sandbox Code Playgroud) 为什么我的数组没有重新渲染?
import React, { useEffect, useState } from 'react';
const App = () => {
const [arr,setArr] = useState([5,4,3,2,1]);
const handleClick = ()=>{
let newArr = arr;
newArr[0]++;
setArr(newArr);
};
return (
<>
{arr.map((item) => (
<h1 key={item}>{item}</h1>
))}
<button onClick={handleClick}>buttong</button>
</>
);
}
export default App;
Run Code Online (Sandbox Code Playgroud)