我正在将一个旧网站转换为 React,并且不想更改之前编码的所有 CSS 文件。目前许多元素都是通过使用 id 设置样式的。有没有一种方法可以className={styles["#topBar"]}正确设置样式,而不必删除CSS 文件夹中的#并将其替换为 a ?.
(英语不是我的母语,所以如果您发现任何英语,请提前原谅我的英语)
此时,我对 Promises 和 Async wait 函数非常满意,我也知道如何使用 Promise.all (它只是等待内部的所有承诺首先解析,然后从所有承诺中提取值,然后返回一个数组将 .then 函数与这些值一起使用。)
现在我想知道 for wait 在幕后是如何工作的。
我刚刚写了这段代码:
async function f() {
let p1 = new Promise(function (r) {
setTimeout(r, 3000, 1)
})
let p2 = new Promise(function (r) {
setTimeout(r, 2000, 2)
})
let p3 = new Promise(function (r) {
setTimeout(r, 1000, 3)
})
let arrayOfPromises = [p1, p2, p3];
for await (let p of arrayOfPromises) {
let data = await p;
console.log(data)
}
}
f();Run Code Online (Sandbox Code Playgroud)
现在我的问题是,当它命中第一次迭代时会发生什么,它将命中await关键字,并且await立即返回一个待处理的承诺,那么下面的代码在技术上是否在每次迭代中评估为待处理的承诺?
{
let data …Run Code Online (Sandbox Code Playgroud) 我有一系列看起来像这样的对[[x,y], [x,y] ... ]。我想将其格式化为一个对象,其中值是 x 和 y 值的数组,如下所示{keys: [x1, x2, x3 ...], values: [y1, y2, y3 ... ]}。
是否有任何数组/对象操作可以完成此操作而无需迭代原始列表?
let products;
if (products?.length !== 0) {
console.log('true')
}Run Code Online (Sandbox Code Playgroud)
与
let products;
if (products && products.length !== 0) {
console.log('true')
}Run Code Online (Sandbox Code Playgroud)
如果没有产品数组,示例 1 仍将运行 if 语句。可选链不应该检查产品是否存在,然后检查长度,最后检查长度为 0 吗?
例子。如果产品不存在,2 将不会运行。
我有以下对象数组:
var all = [
{f1: "v1", f2: "v2"},
{f1: "v1", f2: "v2", f3: "v3"},
{f1: "v1", f2: "v2", f3: "v3", f4: "v4"},
{f1: "v1", f2: "v2", f3: "v3", f4: "v4", fn: "vn"}
];
Run Code Online (Sandbox Code Playgroud)
期望的输出:
[f1, f2, f3, f4, f5, ...., fn];
Run Code Online (Sandbox Code Playgroud)
目前使用:
all.reduce((sum, item) => ([...new Set([...sum, ...Object.keys(item)])]), []);
Run Code Online (Sandbox Code Playgroud)
工作示例:codepen
任何使用 es6 或任何新的 js 功能的建议,以获得更好的性能。
我有一个这样的对象:
const obj = {a: [1,2,3], b: [4,5,6]}
Run Code Online (Sandbox Code Playgroud)
我期望得到数组:[1, 2, 3, 4, 5, 6]
这是我使用的函数,但它只给我最后一个数组: [4, 5, 6]
for (const property in obj) {
var allData = []
allData.push(...obj[property])
}
Run Code Online (Sandbox Code Playgroud) 我有一个对象,例如,
let obj = {
name: '',
age: 16,
address: '',
city: '',
pin: 4564
}
Run Code Online (Sandbox Code Playgroud)
我想要具有值而不是 0 或未定义或“”的元素的长度。我的 obj 有 2 个具有值的元素(年龄和 pin),所以我希望 obj 的长度为 2
javascript ×6
arrays ×2
object ×2
async-await ×1
asynchronous ×1
css ×1
ecmascript-6 ×1
for-loop ×1
lamp ×1
promise ×1
reactjs ×1