Javascript 在Vue.JS方法中,传递的字符串trim()不';行不通

Javascript 在Vue.JS方法中,传递的字符串trim()不';行不通,javascript,vue.js,Javascript,Vue.js,因此,我尝试使用.trim()函数从返回对象的一个属性中删除空白,但它不起作用 我已经尝试过应用JS函数,比如.replace(/\s/g'),但它也不起作用 <script> export default { name: 'navigation', props: ["navigation"], methods:{ whiteSpace: function(a){ var str = a; str

因此,我尝试使用.trim()函数从返回对象的一个属性中删除空白,但它不起作用

我已经尝试过应用JS函数,比如.replace(/\s/g'),但它也不起作用

<script>
export default {
    name: 'navigation',
    props: ["navigation"],
    methods:{
        whiteSpace: function(a){
            var str = a;
            str.toLowerCase();
            str.trim();
            console.log(str);


            return str;
        }
    }
}
</script>

导出默认值{
名称:'导航',
道具:[“导航”],
方法:{
空白:函数(a){
var-str=a;
str.toLowerCase();
str.trim();
console.log(str);
返回str;
}
}
}
HTML

  • {{nav.linkTitle}

  • 它应该返回不带空格的字符串,但不会删除空格。

    trim方法不会修改对象,而是返回一个新字符串

    只需使用返回str.trim()返回即可。此代码:

    str.toLowerCase();
    
    返回一个新值。它不会修改当前值,因此您应该执行以下操作:

    var str = a;
    str = str.toLowerCase();
    str = str.trim();
    console.log(str);
    
    但无论如何,您都可以像这样返回修剪后的值:

    export default {
        name: 'navigation',
        props: ["navigation"],
        methods: {
            whiteSpace: function (a) {
                return a.toLowerCase().trim();
            }
        }
    }
    

    所以我发现了问题。trim()函数不起作用,我尝试了
    .replace(/\s/g,“”)很有帮助,谢谢你们的帮助:)

    你们为什么要声明一个新的
    var
    ?只需使用
    返回a.toLowerCase().trim()在空白方法中我知道,对,我试着用很多方法来实现它…它工作了,它转换成小写,但仍然没有删除空格nav.linkTitle的字符串是什么?你认为你可能有制表符而不是空格吗?您可以使用
    返回a.replace(/^\s+|\s+$/gm',).toLowerCase()而不是trim()。如果要从字符串中删除空格,则应使用a.replace(/\s/g,“”;@NiGmAx:作为注释,删除所有空格,而不仅仅是开头和结尾空格。
    trim()
    仅删除任何开头和结尾空格(它会修剪字符串开头和结尾的空格)-它不会去除字符串中的所有空格。如果您希望修剪可以去除所有空格,那么我认为您误解了修剪的工作原理。
    export default {
        name: 'navigation',
        props: ["navigation"],
        methods: {
            whiteSpace: function (a) {
                return a.toLowerCase().trim();
            }
        }
    }