gpt4 book ai didi

javascript - 为什么代码返回一个包含单个字母而不是全名的数组?

转载 作者:行者123 更新时间:2023-12-02 18:21:34 24 4
gpt4 key购买 nike

学习 JavaScript 中的解构赋值,当尝试在对象解构中使用数组时,仅第一个字母返回到控制台,为什么会发生这种情况?

function splitter(name) {
const [fName, lName] = name.split(" ");
return { fName, lName };
}

const {fName: [firstWord],lName} = splitter("John Doe");

console.log(splitter("John Doe"));
console.log({fName: [firstWord],lName});

console.log(firstWord);
console.log(lName);

An image of code showing an object containing elements for fname and lname as in:   object { fName: "John", lName: "Doe"}

最佳答案

让我们首先看一个简单的情况,您只是解构数组

function splitter(name) {
const [fName, lName] = name.split(' ');
return { fName, lName };
}

const { fName, lName } = splitter('John Doe');
console.log(fName); // John

Remember the strings are iterable in JS

const str = 'John';

for (let c of str) { // For-of can only be used in iterables
console.log(c);
}

所以当你这样做时

const { fName: [firstWord], lName } = splitter('John Doe');

那么这意味着您还从 fName 字符串进行解构,这将导致 firstChar

所以上面的👆与:

const { fName, lName } = splitter('John Doe');
const [firstChar] = fName;
console.log(firstChar);

function splitter(name) {
const [fName, lName] = name.split(' ');
return { fName, lName };
}

const { fName, lName } = splitter('John Doe');
const [firstChar] = fName;
console.log(firstChar);

关于javascript - 为什么代码返回一个包含单个字母而不是全名的数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70811711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com