如何在 React Native 的索引基础上将一个数组值分成两个字符串

这是我的代码,我试图将一个全名分成 firstName 和 lastName 两部分。但它不符合我的需要。


Like if   fullName='Sachin Ramesh Tendulkar' . then

firstName = Sachin Ramesn

lastName = Tendulkar   if


fullName='Sachin Tendulkar' . then

firstName = Sachin  

lastname = Tendulkar


if fullName='Sachin  Ramesh Tendulkar Second' . then


firstName =Sachin  Ramesh Tendulkar

lastName= Second


   this.state={

    fullName:'Sachin Ramesh Tendulkar'

    let fullName = this.state.fullName.split(' ');

    const firstName = fullName.shift()

    const lastName = fullName.join(' ')

    --------------------------------------------

    firstName = Sachin

    lastName = Ramesh Tendulkar .

    but I have to show the result like below ..

    ------------------------------

    firstName = Sachin Ramesh

    lastName = Tendulkar

     

请建议。谢谢


紫衣仙女
浏览 137回答 6
6回答

一只甜甜圈

你可以这样做: -[fName, mName, lName] = nameString.split(" ");if(!lName) lName = mNameelse fName = fName+mName因此,如果姓氏为 null 或未定义,那么我们将中间名值分配给姓氏。否则名字将等于名字 + 中间名。

肥皂起泡泡

这个怎么样?const name = "Sachin Ramesh Tendulkar"const lstSpc = name.lastIndexOf(" ")const nameParts = [name.substring(0, lstSpc), name.substring(lstSpc)] console.log(nameParts)

慕娘9325324

尝试这个。name = 'ABC XYZ GHI';array = name.split(' ');lastName = array.pop()firstName = array.join(' ')

函数式编程

久经考验 const name = "Sachin Ramesh Tendulkar"        const array  = name.split(' ')        let firstname = ''        let lastname = ''        if (array.length && array.length > 1) {            array.forEach((item, i)  => {                if ((array.length - 1) !== i) {                    if (firstname) {                        firstname = firstname + " " + item                    } else {                        firstname = item                    }                                    }            })             lastname = array[array.length - 1]        }        if (array.length === 1) {        firsname = array[0]        }

一只斗牛犬

var fullName = "Sachin  Ramesh Tendulkar Second";var firstName = fullName.substring(0, fullName .lastIndexOf(" ") + 1);var lastName = fullName.substring(fullName .lastIndexOf(" ") + 1);console.log(`firstName: `, firstName);console.log(`lastName: `, lastName);

守着一只汪

shift将删除第一个元素。我认为您想要的是pop获取最后一个元素以隔离姓氏。请注意,这些是直接突变var fullName = "Sachin  Ramesh Tendulkar Second".split(' ');var lastName = fullName.pop();var firstName = fullName.join(' ');console.log(`firstName: `, firstName);console.log(`lastName: `, lastName);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript