javascript - 将字符串赋予变量 Angular Javascript

标签 javascript angularjs json split

这是我的 json:

[
    {
        "name": "1QQQJohnQQQ11_22_1998",
        "age" : "ads"
    },
    {
        "name": "2QQQEvaQQQ05_01_1989",
        "age" : "ads"
    },
    {
        "name": "3QQQCasperQQQ02_16_1994",
        "age" : "ads"
    },
    {
        "name": "4QQQBeanQQQ30_12_1996",
        "age" : "ads"
    }]

我从该表中创建了一个表,我要做的就是将“QQQ”从名称中分离出来,并将其更改为 3 个字符串(例如“4”、“Bean”、“30_12_1996”), 如何在 js 文件中执行此操作,将每个字符串归因于变量(例如 type = "4"、name = "Bean"、date = "30_12_1996)。 我的js文件:

var app = angular.module('app', []);
    app.service('service', function($http, $q){
        var deferred = $q.defer();

        $http.get("filejson.json").then(function(data){
            deferred.resolve(data);
        });

        this.getNames = function(){
            return deferred.promise;
        }
    });
    app.controller('MainCtrl', function($scope, service){
        var promise = service.getNames();
        promise.then(function(data){
            $scope.names = data.data;
            console.log($scope.names);
        });
  //*what i try to do (it didn't works):
 var type = names.name.split('QQQ')[0];
 var name= names.name.split('QQQ')[1];
 var date= names.name.split('QQQ')[2];
 //*
});

最佳答案

您可以使用 JavaScript map 函数将数组从一种格式映射到另一种格式,并使用字符串 split 方法。

var a = [
    {
        name: "1QQQJohnQQQ11_22_1998",
        age : "ads"
    },
    {
        name: "2QQQEvaQQQ05_01_1989",
        age : "ads"
    },
    {
        name: "3QQQCasperQQQ02_16_1994",
        age : "ads"
    },
    {
        name: "4QQQBeanQQQ30_12_1996",
        age : "ads"
    }];


var result = a.map(function (value, index, array) { 
                    varsplitValue = value.name.split("QQQ");
                    value["SNo"] = varsplitValue[0];
                    value["personName"] = varsplitValue[1]; 
                    value["dob"] = varsplitValue[2];
                    return value;
} );

result包含调用map函数后的数组。

result[0].SNO 将显示第一人称 (1) 的 SNO。

result[0].personName 将显示第一个人名 (John)。

result[0].dob 将显示第一人称的出生日期 (11_22_1998)。

关于javascript - 将字符串赋予变量 Angular Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41292032/

相关文章:

javascript - 滚动事件永远不会触发

javascript - 时刻日期在 Mozilla 和 Chrome 中解析不同?

java - 将 JSON 数据解析到 listView 中

javascript - 如何使用普通 Javascript 识别一系列无序列表和/或嵌套列表中的上一个/下一个链接?

javascript - TypeError : Meteor. user(...).services 未定义

javascript - 选择选项的验证不起作用

javascript - 手动更改 DOM,而不是依赖 React 的协调

AngularJS 如何在按钮单击时在页面中动态添加/删除指令

javascript - 如何将 json 文件转换为 HTML 而无需先将它们添加到元素中?

Javascript lodash 展平分层对象